Perl -X 函数
-
描述
-X 文件测试,其中X是下面列出的字母之一。他的一元运算符采用一个参数(文件名或文件句柄),并测试关联的文件以查看其是否正确。如果省略该参数,则测试$_ -
句法
以下是此函数的简单语法--X FILEHANDLE -X
-
返回值
- 如果条件为真则为1
- 如果条件为假,则为0
-r 有效的uid/gid可以读取文件。 -w 文件可由有效的uid/gid写入。 -x 文件可以通过有效的uid/gid执行。 -o 文件由有效uid拥有。 -R 真实的uid/gid可以读取文件。 -W 文件可由真实的uid/gid写入。 -X 文件可以由真实的uid/gid执行。 -O 文件由真正的uid拥有。 -e 文件已存在。 -z 文件大小为零(为空)。 -s 文件的大小非零(返回大小以字节为单位)。 -f 文件是纯文件。 -d 文件是目录。 -l 文件是一个符号链接。 -p File是命名管道(FIFO),或者Filehandle是管道。 -S 文件是套接字。 -b 文件是块特殊文件。 -c 文件是字符特殊文件。 -t Filehandle向tty打开。 -u 文件已设置setuid位。 -g 文件已设置setgid位。 -k 文件设置了粘性位。 -T 文件是ASCII文本文件(启发式猜测)。 -B 文件是“二进制”文件(与-T相反)。 -M 脚本开始时间减去文件修改时间(以天为单位)。 -A 访问时间相同。 -C 索引节点更改时间相同
-
示例
尝试下面的示例与一些文件。stat($filename); print "Readable\n" if -r _; print "Writable\n" if -w _; print "Executable\n" if -x _; print "Setuid\n" if -u _; print "Setgid\n" if -g _; print "Sticky\n" if -k _; print "Text\n" if -T _; print "Binary\n" if -B _; # Another way of testing if( -e $filename ){ print " File $filename exists\n"; }