P:\test>perl -MData::Dumper -anF"\|" -le"$f{shift@F}=[@F[1..$#F]]}{print Dumper \%f" pipe.txt $VAR1 = { '6' => [ 'foo', 'bar', 'bax' ], '3' => [ 'foo', 'bar', 'bax' ], '7' => [ 'foo', 'bar', 'bax' ], '9' => [ 'foo', 'bar', 'bax' ], '2' => [ 'foo', 'bar', 'bax' ], '8' => [ 'foo', 'bar', 'bax' ], '1' => [ 'foo', 'bar', 'bax' ], '4' => [ 'foo', 'bar', 'bax' ], '10' => [ 'foo', 'bar', 'bax' ], '5' => [ 'foo', 'bar', 'bax' ] };