these might also help some, below is an example and then all the options you have to use.
if ( -e $File )
-A Age of file in days since last access
-B binary file
-C age of file in days since last inode change
-M Age of file in days since last modification
-O Is the file owned by the real user ID?
-R Is the file readable by the real user ID?
-S if the file a socket?
-T is it a text file?
-W is the file writable by the real user ID or real group?
-X is the file executable by the real user id or real group?
-b is it a block speical file?
-c is it a character special file?
-d is the file a directory?
-e does the file exist?
-f is it a plain file?
-g does the file hav the setgid bit set?
-k does the file have the stick bit set?
-l is the file a symbolic link
-o is the file owned by the effective user id?
-p is the file a named pipe?
-r is the file readable by the effective user id?
-s returns the size of a file, with zero referring to an empty file
-t is the filehandle opened by a TTY(terminal)?
-u does the file have the setuid bit set?
-w is the file writable by the effective user or group ID?
-x is the fie executable by the effective user or group ID?
-z is the file size zero?
(this comes from Perl: the complete reference)