use strict; use warnings; use Benchmark; my @array; push @array, "Test string" for 1..20000; my $nonarray = "Test string"; sub passarray { return @array; } sub passscalar { return $nonarray; } my $count = 500000; timethese ( $count, { "Scalar" => sub { my $test = passscalar() }, "List" => sub { my $test = passarray() } } ); #### Benchmark: timing 500000 iterations of List, Scalar... List: 0 wallclock secs ( 0.73 usr + 0.00 sys = 0.73 CPU) @ 683060.11/s (n=500000) Scalar: 2 wallclock secs ( 1.38 usr + 0.00 sys = 1.38 CPU) @ 361794.50/s (n=500000)