#!/usr/bin/perl use strict; use warnings; use Benchmark ":all"; my $len = 1_000; sub returnlist { my @rray = map({rand()} (1..$len)); return( @rray); } sub returnref { my @rray = map({rand()} (1..$len)); return(\@rray); } cmpthese(10_000, { "returnlist" => sub { my @foo = returnlist(); }, "returnref" => sub { my ($foo) = returnref(); }, }); __END__ Rate returnlist returnref returnlist 633/s -- -24% returnref 829/s 31% --