Hello All.

I have a question about this procedure.  I am trying to extract these 12
values of text from a text file.  I am trying to get my first two hash
values and this is the procedure that handles that.  Thanks Charles for all
your help and mentoring.  I appreciate your time and consideration.  When I
comment out the "shift @fields;"
in CODE1 and run it, I get the results at RESULT1.  When I comment out the
"#push @fields; #, ( '' ) x ( 4 - @fields );" in CODE2, I get RESULTS2.

My question is why?  What is happening in these lines of code.  I dont
understand why you need "my $line = shift;" or what this is doing? I
understand what is happening up until "shift @fields" to the end of the sub
procedure.

What I am trying to get is RESULT3 below.  Any pointers on where I can find
information on shift, and push @fields, ( " ) x ( 4 - @fields );
I would like to learn what this is doing and how to get the result I want.

Thanks All.

William Martell


[CODE1]
sub line1fields {
    my $line = shift;  #why do I have to shift here.  I don't understand
what this is doing.
 # collapse all spaces
    $line =~ s/\s//g;
    my @fields = split /AdNumber:|DatePosted:/, $line;

    # delete extra first field
    #shift @fields;  #why do you have to delete this extra first field.
WHere is it coming from??

    # pad missing fields
    push @fields, ( '' ) x ( 4 - @fields );
    return @fields;
}
[/CODE1]

[RESULT1]
"ad_number","date_posted","contact","telephone","email","address","mapsco","
financial_terms","sq_ft","income_property","price","description"
"","5141","","","","","","","","","",""
"","5050","","","","","","","","","",""
"","5038","","","","","","","","","",""
"","5037","","","","","","","","","",""
"","5003","","","","","","","","","",""
"","4998","","","","","","","","","",""
"","4988","","","","","","","","","",""
"","4987","","","","","","","","","",""
[/RESULT1]


############################################################################
#############

sub line1fields {
    my $line = shift;
 # collapse all spaces
    $line =~ s/\s//g;
    my @fields = split /AdNumber:|DatePosted:/, $line;

    # delete extra first field
    shift @fields;  #why do you have to delete this extra first field. WHere
is it coming from??

    # pad missing fields
    #push @fields; #, ( '' ) x ( 4 - @fields );
    return @fields;
}


"ad_number","date_posted","contact","telephone","email","address","mapsco","
financial_terms","sq_ft","income_property","price","description"
"","04/19/2004","","","","","","","","","",""
"","04/06/2004","","","","","","","","","",""
"","04/04/2004","","","","","","","","","",""
"","04/04/2004","","","","","","","","","",""
"","03/29/2004","","","","","","","","","",""
"","03/28/2004","","","","","","","","","",""
"","03/27/2004","","","","","","","","","",""
"","03/27/2004","","","","","","","","","",""

############################################################################
####################################


[RESULT3]
"ad_number","date_posted","contact","telephone","email","address","mapsco","
financial_terms","sq_ft","income_property","price","description"
"5141","04/19/2004","","","","","","","","",""
"5050","04/06/2004","","","","","","","","",""
"5038","04/04/2004","","","","","","","","",""
"5037","04/04/2004","","","","","","","","",""
"5003","03/29/2004","","","","","","","","",""
"4998","03/28/2004","","","","","","","","",""
"4988","03/27/2004","","","","","","","","",""
"4987","03/27/2004","","","","","","","","",""
[/RESULT3]


############################################################################
####################################

I could also really use help understanding why and how you use "%$ad", and
"@$ad".  Any PERLDOC pointers here would also be appreciated.

My understanding of these is the they both refer to the context of the data.
But beyond that I am confused.


foreach my $value ( values %$ad ) {



return join ',', @$ad{ @field_order };


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to