{ my @tiny = qw( abc def ghi ); Benchmark::cmpthese(-3, { arr => sub { test_arr @tiny }, ref => sub { test_ref \@tiny }, ref2 => sub { test_ref2 \@tiny }, }); } { my @small = ('abcdefghi') x 10; Benchmark::cmpthese(-3, { arr => sub { test_arr @small }, ref => sub { test_ref \@small }, ref2 => sub { test_ref2 \@small }, }); } { my @giant = ('abcdefghi') x 1000; Benchmark::cmpthese(-3, { arr => sub { test_arr @giant }, ref => sub { test_ref \@giant }, ref2 => sub { test_ref2 \@giant }, }); } __END__ output ======