my @idx = map $_->[1], sort { $a->[0] <=> $b->[0] } map [$vals[$_], $_], 0..$#vals; #### my @rankings = do { my $x = 0; map $_->[1], sort { $a->[0] <=> $b->[0] } map [ $_, $x++ ], sort { $vals[$a] <=> $vals[$b] } 0..$#vals };