Why? You can always do the GRT by using only the key (by which you sort) and an index in the string. I think of something like:
@files = glob("/bin/*");
@sorted =
@files[
map { /(\d+)$/g }
sort
map { sprintf "%012d %d", -s $files[$_], $_ }
0..@files-1];
print "@sorted$/";
This is of course efficent only because of Perl optimizing the default sort subroutine. Someone who understands perl source well might be able to change sort so that it would optimize sort methods like {$h[$a]<=>$h[$b]} which would give us a possibility to sort even faster like my @h = map -s, @files;
@results = @files[sort {$h[$a]<=>$h[$b]} 0..@h-1];
|