my %m = (); @sorted = sort { ($m{$a} ||= -M $a) <=> ($m{$b} ||= -M $b) } @files;