use strict; use warnings; use File::Slurp; my @files; # Array of all file names in the folder. if($ARGV[0]) { @files = read_dir($ARGV[0]); } else { @files = read_dir("."); } for my $file (@files) { print $file; if(-f $file) { print " is a file.\n"; } else { print " is a dir.\n"; } } #### file1.txt filetest.pl folder -> file2.txt file3.txt #### file1.txt is a file. filetest.pl is a file. folder is a dir. #### file2.txt is a dir. file3.txt is a dir.