DB<173> use Time::HiRes qw/time/ DB<174> @x=();$t=time; for (my $i=$start; $i<=$end;$i++) { push @x, $a[$i]}; print time-$t 0.21531081199646 DB<175> @y=(); $t=time; push @y, $_ for @a[$start..$end]; print time-$t 0.1353440284729 DB<176> @z=();$t=time; push @z, $a[$_] for $start..$end; print time-$t 0.142512083053589 #### DB<180> %h=(); $i=$start; $t=time; push @$_, $i++ for @h{@a[$start..$end]}; print time-$t => 1 0.427901983261108