use warnings; use strict; use File::Find::Rule; my $dir = '.'; my @files = File::Find::Rule->file()->name('*')->in($dir); for (@files){ if (-M $_ > 5 && $_ !~ /^(?:L|Log)/){ print "$_\n"; } }