while (@one) { push(@two, pop(@one)); } #### my @b = reverse(@a); my @b = sub { my @rv; push(@rv, pop()) while @_; return @rv }->(@a); my @b = sub { my @rv; unshift(@rv, shift()) while @_; return @rv }->(@a); my @b = map { $a[-$_] } reverse 0..$#a; my @b = map { $a[-$_] } -$#a..0; my @b = map { $a[$_] } sort { $b <=> @a } 0..$#a; my @b = map { $a[$_] } sub { my @rv; push(@rv, pop()) while @_; return @rv }->(0..$#a); my @b = map { $a[$_] } sub { my @rv; unshift(@rv, shift()) while @_; return @rv }->(0..$#a); my @b = @a[ reverse 0..$#a ]; my @b = @a[ map { -$_ } -$#a..0 ]; my @b = @a[ sort { $b <=> @a } 0..$#a ]; my @b = @a[ sub { my @rv; push(@rv, pop()) while @_; return @rv }->(0..$#a) ]; my @b = @a[ sub { my @rv; unshift(@rv, shift()) while @_; return @rv }->(0..$#a) ];