opendir DIR,$dir or die "Can't open directory.\n"; @dir = readdir DIR; ... foreach(@dir) { if (-d$_) {print $_," is a directory.\n";} elsif (-f$_) {print $_," is a file.\n";} else {print $_," is not a file or a directory!\n";} } #### foreach(@dir) { my $path = "$dir/$_"; # prepend dir if (-d $path) {print $path," is a directory.\n";} elsif (-f $path) {print $path," is a file.\n";} else {print $path," is not a file or a directory!\n";} }