There are 27 file test operators: For example (-d $file) is true if $file is a directory, (-x $file) is true if the file is executable, (-T $file) is true if $file is a textfile. -s returns the size of the file. They are listed in the perfunc man page, search for '-X FILEHANDLE'. In the Camel book (2'nd edition) it's on page 85
Also there is the stat function, which returns a 13 element list of information about the file. Again perlfunc has the gory details.