use File::Spec::Functions qw( catfile ); my $dir = "e:\\core\\ops_utilities"; opendir(my $dh, $dir) or die("Unable to read utilities directory \"$dir\": $!\n"); my @files = grep { !-d catfile($dir, $_) } readdir($dh); #### my @files = grep { !-d } map { catdir($dir, $_) } readdir($dh);