c:\@Work\Perl\monks>perl -wMstrict -le "my @arr = (1,2,3,5,10,3,4,300,1,2,-2); my ($i) = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [ $_ , $arr[$_] ] } 0..$#arr-1; print qq{i of largest == $i (\@arr[$i] == $arr[$i])}; " i of largest == 7 (@arr[7] == 300) c:\@Work\Perl\monks>perl -wMstrict -le "my @arr = (1,2,3,5,10,3,4,300,1,2,-2, 999); my ($i) = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [ $_ , $arr[$_] ] } 0..$#arr-1; print qq{i of largest == $i (\@arr[$i] == $arr[$i])}; " i of largest == 7 (@arr[7] == 300)