不要忽略文件测试操作符

#获取文件大小
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";
}
posted @ 2013-04-19 10:31  新闻官  阅读(158)  评论(0编辑  收藏  举报