opendir(D, "/some/dir"); my @entries = readdir(D); closedir(D); for my $f (@entries) { next unless -f "/some/dir/$f"; ... }