albascura has asked for the wisdom of the Perl Monks concerning the following question:
Hi everyone. I got a problem I can't understand. Basically I have a text file which is made like this:
planet;World|Earth planet;celestial body|moon psychology;therapy|sociology psychology;humanity|sociology
I need to split every line using ";" as a delimiter, and I do the following:
#!/usr/bin/perl use strict; use warnings; my $file = $ARGV[0] or die "Need to get CSV file on the command line\n +"; my $sum = 0; open(my $data, '<', $file) or die "Could not open '$file' $!\n"; while (my $line = <$data>) { chomp $line; print $line; my ($target,$variables) = split (/;/ , $line); print $target."\n"; print $variables."\n"; }
But, as on output, I get just the following:
planet World|Earth planet
which is not what I was expecting since I thought this code would work on the whole file, not just the first row and a half. What am I doing wrong?
Thanks in advance for any help
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Parse csv file line by line
by davido (Cardinal) on May 05, 2013 at 22:23 UTC | |
by albascura (Novice) on May 06, 2013 at 06:36 UTC | |
by Anonymous Monk on May 06, 2013 at 08:52 UTC | |
by Anonymous Monk on May 06, 2013 at 06:46 UTC | |
by albascura (Novice) on May 06, 2013 at 08:32 UTC | |
|
Re: Parse csv file line by line
by thomas895 (Deacon) on May 06, 2013 at 00:13 UTC | |
|
Re: Parse csv file line by line
by karlgoethebier (Abbot) on May 06, 2013 at 07:25 UTC | |
|
Re: Parse csv file line by line
by hdb (Monsignor) on May 06, 2013 at 07:16 UTC | |
|
Re: Parse csv file line by line
by jaredor (Priest) on May 06, 2013 at 14:42 UTC |