[EMAIL PROTECTED] wrote:
> Hi,
>
> I am not able to split a string and build an array. I am reading the
> lines from a file. I could not understand what I am doing wrong here.
>
> My code is below:
>
> #!/usr/bin/perl -w
> #
> ------------------------------------------------------------------------
> ------
> my $spool_file="gwcd";
> my $gwcd_file="/appl/loopqual/ait/log/$spool_file.lst";
> my ($wc_cd,$ind,$dm1,$dm2,$row_ct,$row);
> my (@wc,@source_ind,@dummy1,@dummy2,@wc_row_ct,@data);
>
> print "open $gwcd_file\n";
> open(GWCDIN, "< $gwcd_file"); #|| die "can't open $gwcd_file: $!";
> if ($? == 0)
> {
> print "open successful\n";
> while (<GWCDIN>)
> {
> $row = $_;
> ( $wc_cd, $ind, $dm1, $row_ct, $dm2 ) = split(/\s*/,$row);
Believe it is breaking on each character since you state it can or can
not be there. Similar to //. Change to \s+ and you will get the the first
number, but don't see where you would get that second number. Believe from your
code it should be 471453 and not 725906.
Wags ;) ps I made assumption that the 2 on the separate line was all part of
one line. Changed into __DATA__ and ran the test for printing.
> push(@wc,$wc_cd);
> push(@source_ind,$ind);
> push(@wc_row_ct,$row_ct);
> } # end while
>
> print "$wc[10]\n";
> print "$wc_row_ct[10]\n";
> }
> close GWCDIN;
>
> The input file is below:
>
> 313222 A 12/02/2003 44453
> 2
> 630620 A 02/28/2005 826240
> 2
> 847464 A 02/28/2005 29155
> 2
> 847576 A 02/28/2005 14147
> 2
> 847286 A 02/28/2005 5274
> 2
> 630323 A 03/01/2005 785867
> 2
> 708387 A 03/01/2005 725906
> 2
> 815932 A 03/01/2005 644998
> 2
> 616249 A 03/01/2005 620161
> 2
> 513422 A 03/01/2005 488744
> 2
> 708335 A 03/01/2005 471453
> 2
> 419422 A 03/01/2005 469839
> 2
> 419865 A 03/01/2005 389593
> 2
>
> When I print, I was expecting the program to print 708335 and 725906
> on two separate lines. But the program is printing 7 and 3 on two
> separate lines.
>
> Any help is really appreciated.
>
> Thanx..
> -Bheem
>
> _______________________________________________
> Perl-Unix-Users mailing list
> [email protected]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
*******************************************************
This message contains information that is confidential
and proprietary to FedEx Freight or its affiliates.
It is intended only for the recipient named and for
the express purpose(s) described therein.
Any other use is prohibited.
*******************************************************
_______________________________________________
Perl-Unix-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs