##
my @sortedarray = @unsortedarray[sort @unsortedarray];
##
##
my @sorted = @unsorted[ map {$$_[1]}
sort {$$b[0]<=>$$a[0]}
map [expensive($unsorted[$_]), $_]; }
0..$#unsorted ];