我遇到这行代码:
if( -f <filename> ) { ... }
-f似乎测试文件名是否存在,但我不确定。 Google目前还没有帮助(Google很难为“-f”),也没有我的Perl图书。
任何人都可以咨询?
解决方法
见
perlfunc。
-X FILEHANDLE -X EXPR -X DIRHANDLE -X
其中-X是以下之一:
-r: File is readable by effective uid/gid. -w: File is writable by effective uid/gid. -x: File is executable by effective uid/gid. -o: File is owned by effective uid. -R: File is readable by real uid/gid. -W: File is writable by real uid/gid. -X: File is executable by real uid/gid. -O: File is owned by real uid. -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. -l: File is a symbolic link. -p: File is a named pipe (FIFO),or Filehandle is a pipe. -S: File is a socket. -b: File is a block special file. -c: File is a character special file. -t: Filehandle is opened to a tty. -u: File has setuid bit set. -g: File has setgid bit set. -k: File has sticky bit set. -T: File is an ASCII text file (heuristic guess). -B: File is a "binary" file (opposite of -T). -M: Script start time minus file modification time,in days. -A: Same for access time. -C: Same for inode change time (Unix,may differ for other platforms)