in reply to Optimal way to read in pipe delimited files
use Text::xSV; my $parser = Text::xSV->new( fh => \*SRC, sep => '|', ); my %prod; while ( my @row = $parser->get_row ) { $prod{ shift @row } = \@row; } [download]