## UNTESTED ## use File::Find::Rule; my $dest = shift; # just needs case-insensitivity ... my $rule = File::Find::Rule->new(); my @files = $rule->file() ->not( $rule->new->(name => '*.obj') ) ->exec( \&foo ) ->in( $dest );