use strict; use warnings; use File::Find; my $base = '/my/working/directory'; my $done = 0; finddepth(\&no_old_dir_please, $base); sub no_old_dir_please { $done ||= (-M $_) <= 30; $File::Find::prune = $done; }