-e File exists. -z File has zero size (is empty). -s File has nonzero size (returns size in bytes). -f File is a plain file. -d File is a directory. -T File is an ASCII text file. -B File is a "binary" file (opposite of -T). #### if (-f $my_file) { print "Thanks for not deleting my config file $my_file\n"; } if (-B $my_file || -z $my_file) { print "I'll bet you think you're funny.\n"; }