#!/usr/bin/perl -w use strict; my $arraylength=1000; sub return_arrays { my @array; for (my $i=0; $i<$arraylength; ++$i) { push(@array, rand()); } return @array; ## or return \@array; } my $now=time(); my $sum=0; for (my $j=0; $j<100_000; ++$j) { my @v= return_arrays(); ## or my $v= $sum+= $v[ rand($arraylength) ]; ## of $v->[ } print "$sum\n"; print "Time: ".(time()-$now)." seconds\n";