-e $F or return 0; # File exists? -f $F or return 0; # It's a plain file? #### $ mkdir test $ mkdir test/file1.txt $ touch test/file2.txt $ perl -le'print "abcdefg"' > test/file3.txt $ perl -le'print "\x90\x91\x92\x93\x94\x95\x96"' > test/file4.txt $ perl -e'for my $file ( @ARGV ) { print "$file: "; if ( -e $file ) { print "EXISTS " } if ( -f $file ) { print "PLAIN " } print "\n" }' test/file* test/file1.txt: EXISTS test/file2.txt: EXISTS PLAIN test/file3.txt: EXISTS PLAIN test/file4.txt: EXISTS PLAIN