open(FILE, $theFile) or die("cannot open file : $!"); while ($line = ) { my($key,@parts) = (split (/\|/, $line))[1,7,8,9]; push @{$theTable{$key}}, [ @parts ]; } close(FILE);