my %files; opendir( D, "." ); # or some specific path? -f and $files{$_} = -M _ for ( readdir D ); closedir D; my @newest_first = sort { $files{$a} <=> $files{$b} } keys %files;