Well, if you have a large amount of files and you want to find the
newest, the only reasonable optimization of your
sort
is the removal of said
sort! You don't need more than
a single pass (using linear time) to find an extreme.
my $extreme = [365_000, undef];
foreach (<*.log>) {
$extreme = [-M, $_] if $extreme -> [0] > -M
}
my $newest = $extreme -> [1];
And if you want to sort them, faster than an Orcish Maneuvre or
a Schwartian Transform is the Guttman-Rosler Transform:
@files = map {substr $_ => 18}
sort
map {sprintf "%017.10f %s" => -M, $_} <*.log>;
-- Abigail