use File::Find; my $ageLimit = 7; # the age (in days) of the oldest file you want to process my $ageCutoff = time - $ageLimit * (60*60*24); # the cutoff time my @logFiles = (); my $findFilter = sub { if ( (stat($_))[9] > $ageCutoff ) { # only push files newer than cutoff push @logFiles, $_; } return; }; find($findFilter, 'd:\log\exported'); # populates the list