use strict; $\="\n"; $,="\t"; my $str=join ",",('a'..'z')x10000; my $idx=26; #print $str; my $codes={ 'namedArr' => sub { my @F=split /,/ , $str ; return $F[$idx]; }, 'anoArr' => sub { return +(split /,/, $str) [$idx]; }, 'anoArrRef' => sub { return [ split /,/, $str ] -> [$idx]; }, }; #- Test Codes while ( my ($name, $cr) = each %$codes ) { print $name.":", $cr->(); } #- Benchmark use Benchmark qw(cmpthese); cmpthese( 10, $codes);