Since you are dealing with comma-separated values, you should use a module that's optimized for such work (i.e. handles quoting, null values, etc etc), such as Text::CSV. (If you install Text::CSV_XS your code will run faster.)
Try the following, and Benchmark your results compared to your other solutions. As you say the dataset you are working with is pretty small; I would try to work up a much larger sample for benchmarking.
Personally, I avoid shelling out at almost all costs.
$ cat 1204245.csv foo,bar,baz,qux fred,barney,wilma,betty apple,orange,banana,pear
Output:use strict; use warnings; use feature 'say'; use Text::CSV_XS; my $csv = Text::CSV_XS->new({ binary => 1, auto_diag => 1 }); open my $fh, '<', './1204245.csv' or die "Died: $!"; my @column = map { $_->[2] } @{ $csv->getline_all( $fh ) }; say for @column; __END__
$ perl 1204245.pl baz wilma banana
Hope this helps!
In reply to Re: search/grep perl/*nix
by 1nickt
in thread search/grep perl/*nix
by Gtforce
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |