in reply to Restore the original order of an array after sort and performing some funchtion on array values

Instead of the array elements sort indexes...
my @ix = sort { $myarray[$b] <=> $myarray[$a] } 0..$#myarray; $div = @myarray; $myarray[$_] *= $div-- / @myarray for @ix; print "@myarray\n"
...or even...
my $div; $myarray[$_] *= ++$div / @myarray for sort { $myarray[$a] <=> $myarray +[$b] } 0..$#myarray;
  • Comment on Re: Restore the original order of an array after sort and performing some funchtion on array values
  • Select or Download Code