5 my @in = map rand 50000, 1 .. 1000 ;
7 timethese( shift || -2, {
9 plain => sub { my @out = sort { $a <=> $b } @in },
11 slice => sub { my @out = sort { ($a)[0] <=> ($b)[0] } @in },
13 map => sub { my @out = sort {
14 (map {$_}$a)[0] <=> (map {$_}$b)[0] } @in },
16 temp => sub { my @out = sort {
17 my( $l, $r ) = map {$_} $a, $b; $l <=> $r } @in },