use strict; use warnings; use File::Find::Rule qw( ); use POSIX qw( strftime ); { my $ts = strftime('[%Y/%m/%d %H:%M:%S]', localtime()); my @files = File::Find::Rule->file() ->name('some_file_x') ->mtime('>' . 7*24*60*60) ->in('in_some_dir'); foreach my $file (@files) { if (unlink($file)) { print("$ts Deleted $file\n"); } else { print("$ts Failed to delete $file\n"); } } }