首页 / PERL / perl学习笔记——文件测试
perl学习笔记——文件测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了perl学习笔记——文件测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1451字,纯文字阅读大概需要3分钟。
内容图文
文件测试主要用于查看如文件是否存在、文件大小、文件更新时间等信息。
文件测试操作符
-e 测试文件是否存在;
die "Oops!A file called ‘$filename‘ already exists.\n" if -e $filename;
-M 测试文件是否保持持续的更新,比如测试某个程序的日志文件是否保持每一周或两周更新。
此处测试的是文件句柄。
warn "Config file is looking pretty old!\n" if -M CONFIG>28;
-s 测试文件的大小,以字节计算文件大小。
例子:下面测试的是文件大小超过100字节,且更新日期低于两天的本文件夹下的文件。
# !/usr/bin/env perl
#filename:test2.pl use5.010; while(<>) { if(/\A-.*/){ my@line=split /\s+/,"$&"; # say "$line[8]"; say "$line[8]\tis bigger than 100bytes."if -s $line[8] > 100 and -M $line[8] > 2; } }
运行命令:ls -l | ./<filename>
如何查看文件的大小(以M为单位):my size= (-s $filename)/1024;
注意一定要加括号。
其他的文件测试项
-r:文件或目录对此(有效的)用户(effective user)或组是可读的 -w:文件或目录对此(有效的)用户或组是可写的 -x:文件或目录对此(有效的)用户或组是可执行的 -o:文件或目录由本(有效的)用户所有 -R:文件或目录对此用户(real user)或组是可读的 -W:文件或目录对此用户或组是可写的 -X:文件或目录对此用户或组是可执行的 -O:文件或目录由本用户所有 -e:文件或目录名存在 -z:文件存在,大小为0(目录恒为false) -s:文件或目录存在,大小大于0(值为文件的大小,单位:字节) -f:为普通文本 -d:为目录 -l:为符号链接 -S:为socket-p 为管道(Entry is a named pipe(a“fifo”)) -b:为block-special 文件(如挂载磁盘) -c:为character-special 文件(如I/O 设备) -u:setuid 的文件或目录 -g:setgid 的文件或目录 -k:File or directory has the sticky bit set -t:文件句柄为TTY(系统函数isatty()的返回结果;不能对文件名使用这个测试) -T:文件有些像“文本”文件 -B:文件有些像“二进制”文件 -M:修改的时间(单位:天) -A:访问的时间(单位:天) -C:索引节点修改时间(单位:天)
测试同一个文件的多项属性
if(-r $file and -w _) # 虚拟文件句柄_
{... }
栈式文件操作符
use 5.010;
if( -r -w -x -o -d $file){
print "My directory is readable,writable,and executable!\n";
}
原文:http://www.cnblogs.com/lukexwang/p/4675466.html
内容总结
以上是互联网集市为您收集整理的perl学习笔记——文件测试全部内容,希望文章能够帮你解决perl学习笔记——文件测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。