[Chapter 15] 15.15 File Test Operators
Author: Stephen Spainhour and Valerie Quercia
Date: Fri Aug 29 18:13:17 1997

#

| Chapter 15 Perl Quick Reference |

## 15.15 File Test Operators

These unary operators take one argument, either a filename or a filehandle, and test the associated file to see if something is true about it. If the argument is omitted, they test $_ (except for -t, which tests STDIN). If the special argument _ (underscore) is passed, they use the information from the preceding test or `stat` call.

-r -w -x

  File is readable/writable/executable by effective uid/gid.

-R -W -X

  File is readable/writable/executable by real uid/gid.

-o -O

  File is owned by effective/real uid.

-e -z

  File exists/has zero size.

-s

  File exists and has non-zero size. Returns the size.

-f -d

  File is a plain file/a directory.

-l -S -p

  File is a symbolic link/a socket/a named pipe (FIFO).

-b -c

  File is a block/character special file.

-u -g -k

  File has setuid/setgid/sticky bit set.

-t

  Tests if filehandle (STDIN by default) is opened to a tty.

-T -B

  File is a text/non-text (binary) file. -T and -B return `true` on a null file, or a file at EOF when testing a filehandle.

-M -A -C

  File modification/access/inode-change time. Measured in days. Value returned reflects the file age at the time the script started. See also $^T in Special Variables.

Search and Replace Functions |  | File Operations