use Modern::Perl; use File::Find::Rule; my $start_dir = 'c:/Test'; my $rule = File::Find::Rule->file->start($start_dir); while ( defined( my $file = $rule->match ) ) { # process $file ... }