use File::Slurp; my @dir_contents = read_dir($argv[0]); for my $entry(@dir_contents){ if (-d $entry){ print $entry is a directory"; } elsif (-f $entry){ print $entry is a file"; } else { print "not a directory or file <.<"; } }