use File::Find::Rule; my @files = find( directory => not_name => qr/^_/, in => @ARGV ## or whatever ); for(@files) { ... }