use strict; use warnings; use diagnostics; use File::Slurp; my @files = read_dir($ARGV[0]); foreach my $file(@files){ next if (-d $file); #skip directories print "processing $file\n"; ...do stuff... }