@sorted = map { $_->[ 1 ] } sort { $a->[ 0 ] <=> $b->[ 0 ] } map { [ expensivefunc( $_ ), $_ ] } @data; #### @sorted = sort { expensivefunc( $a ) <=> expensivefunc( $b ) } @data;