#获取文件大小 my $size = -s $filename ; # 从指定目录中取得所有文件列表,检查是否为文本文件 my @textfiles = grep {-T} glob "$dir_name/*";
1. 复用测试结果
如果要对同一个文件作多次文件测试操作符,可以使用虚拟文件句柄_(就是一个下划线字符),以节约不必要的开销。
它会告诉文件测试操作符,不必要再调用stat了,直接用上次测试的结果。
my @my_executables = grep {-o and -x _} glob '*';
2.栈式文件测试
从Perl5.10开始,已经可以使用栈式文件测试了。对于同一个文件或文件句柄,可以同时进行多项属性测试。
use 5.010; if(-r -w $file ) { print "File is readable and writeable\n"; }