#! perl -slw use strict; use Benchmark qw[ cmpthese ]; sub deref { my $r = shift; ++$r->[$_][1] for 0..$#$r; } sub alias { our @a; local *a = shift; ++$a[$_][1] for 0 .. $#a } my @a = map[1..3],1..1e6;; cmpthese -1, { deref => sub { deref( \@a ) }, alias => sub { alias( \@a ) }, }; __END__ c:\test>junk5 Rate deref alias deref 4.16/s -- -12% alias 4.72/s 13% --