my $extreme = [365_000, undef]; foreach (<*.log>) { $extreme = [-M, $_] if $extreme -> [0] > -M } my $newest = $extreme -> [1]; #### @files = map {substr $_ => 18} sort map {sprintf "%017.10f %s" => -M, $_} <*.log>;