http://www.perlmonks.org?node_id=1064798

jht has asked for the wisdom of the Perl Monks concerning the following question:

I have a program that reads and processes approximately 8 million lines of data. For each line read it does:
my @aa = split(/\t/); @{$ref}{@head} = @aa;
When I measure the time spent, the:
@{$ref}{@head} = @aa;
Seems to be fairly expensive time wise. Is there a better/faster way to accomplish this? Should I dump the hash and try something like this?
my ($field1,$field2,$field3, ... ,$fieldn) = @aa