Perl 文件测试运算符
Perl中的文件测试操作符是一种逻辑操作符,可以返回真或假的值。在Perl中,有许多操作符可以用来测试文件的各种不同方面。例如,要检查一个文件是否存在,可以使用-e运算符。或者,在执行追加操作之前,可以检查一个文件是否可以被写入。这将有助于减少程序可能遇到的错误数量。
下面的例子使用’-e’,存在性操作符来检查一个文件是否存在。
#!/usr/bin/perl
# Using predefined modules
use warnings;
use strict;
# Providing path of file to a variable
my filename = 'C:\Users\GeeksForGeeks\GFG.txt';
# Checking for the file existence
if(-efilename)
{
# If File exists
print("File filename exists\n");
}
else
{
# If File doesn't exists
print("Filefilename does not exists\n");
}
输出:
文件名或文件柄作为参数传递给该文件测试操作符-e。
以下是最重要的文件测试操作符的列表。
运营商 | 描述 |
---|---|
-r | 检查该文件是否可读 |
-w | 检查该文件是否可写 |
-x | 检查该文件是否可执行 |
-o | 检查该文件是否为有效的UID所拥有 |
-R | 检查文件是否可由真实的UID读取 |
-W | 检查文件是否可由真正的UID写。 |
-X | 检查文件是否可由真实的uid/gid执行。 |
-O | 检查文件是否为真正的UID所拥有 |
-e | 检查该文件是否存在 |
-z | 检查该文件是否为空 |
-s | 检查文件的大小是否为非零(以字节为单位返回大小)。 |
-f | 检查该文件是否为纯文本文件 |
-d | 检查该文件是否是一个目录 |
-l | 检查该文件是否是一个符号链接 |
-p | 检查该文件是否是一个命名的管道(FIFO):或者文件柄是一个管道 |
-S | 检查该文件是否是一个套接字 |
-b | 检查该文件是否是一个块状特殊文件 |
-c | 检查该文件是否是一个特殊字符文件 |
-t | 检查文件句柄是否被打开到一个tty上 |
-u | 检查该文件是否设置了setuid位 |
-g | 检查该文件是否设置了setgid位 |
-k | 检查该文件是否设置了粘性位 |
-T | 检查文件是否为ASCII文本文件(启发式猜测)。 |
-B | 检查文件是否是 “二进制 “文件(与-T相反)。 |
你可以将AND逻辑运算符与文件测试运算符结合使用,如下所示。
#!/usr/bin/perl
# Using predefined modules
use warnings;
use strict;
# Providing path of file to a variable
my filename = 'C:\Users\GeeksForGeeks\GFG.txt';
# Applying multiple Test Operators
# on the File
if(-efilename && -f _ && -r _ )
{
print("File filename exists and readable\n");
}
else
{
print("Filefilename doesn't exists")
}
输出:
上面的例子,检查文件是否存在,文件是否为纯文本,是否可读。