use strict; use warnings; use Text::CSV_XS; my $csv = Text::CSV_XS->new({ sep_char => '|' }); foreach my $line () { my $status = $csv->parse($line); if (!$status) { print $csv->error_input() . "\n"; next; } my @cols = $csv->fields(); print join(' # ',@cols); print "\n"; } __DATA__ foo|bar|baz aaa|bbb|ccc ddd|eee|fff #### use strict; use warnings; foreach my $line () { my @cols = unpack("a3a3a3",$line); print join(' # ',@cols); print "\n"; } __DATA__ foobarbaz aaabbbccc dddeeefff #### my @rtn = @cols[0,2]; #Grab the 1st and 3rd column print join(' # ',@rtn); print "\n";