use strict; use Benchmark; my @array = (1..10000000); timethese(100000000, { 'scalar' => \&size_scalar, 'index' => \&size_index, 'context' => \&size_context } ); sub size_context { my $val1 = @array; } sub size_index { my $val2 = $#array + 1; } sub size_scalar { my $val3 = scalar(@array); }