my @ix = sort { $myarray[$b] <=> $myarray[$a] } 0..$#myarray; $div = @myarray; $myarray[$_] *= $div-- / @myarray for @ix; print "@myarray\n"