Perl语言入门(第五版) 读书笔记(六)---文件测试

原创 2013年12月18日 18:36:24

第十二章 文件测试
1. 文件测试操作符
 -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:索引节点修改时间(单位:天)
 
 print "$filename \n" if -s $filename > 100_000 and -A $filename > 90;
 our $size_in_k = (-s) / 1024; # 即 -s $_ , 必须带括号
 foreach (@filelist) { 
  print "$_ is readable\n" if -r ; /*即 -r $_ 
 }
 if ( -e $filename and -r $filename ) {}
 if ( -e $filename and -r _ ) {} # _代表上回查询的文件
 if ( -r -w -x -o -d $filename ) {}  #栈式测试,靠近文件名的先执行

2. stat、lstat、localtime、gmtime、time函数
 time 函数可以从系统时钟取得当前时间;
 my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks) = stat($filename)
 lstat查看符号链接文件本身的属性。
 my ($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime; # localtime(time())

3. 位运算
 &按位与 |按位或  ^按位异或  ~按位取反(对串和整数都可使用)  <<左移  >>右移

Perl语言入门

Perl语言入门 前言 编译指令 一标量 标量常量 数字 字符串 数字和字符串的转换 标量变量 print输出结果 比较操作符 获取用户输入 undef值 标量上下文 二列表和数组 列表 数组 注意点...
  • zhangjikuan
  • zhangjikuan
  • 2016年08月13日 14:08
  • 8953

Perl语言入门(第五版) 读书笔记(四)---正则表达式

第七章~第九章  正则表达式 1. 元字符   点(.)匹配除换行符的任意字符; 反斜线\ 2. 模式分组  ()用来分组   \1 \2 引用分组  $_ = "yabba dabba";    ...
  • wangwenwen
  • wangwenwen
  • 2013年12月13日 18:10
  • 691

《Perl语言入门》

1、书籍:《Perl语言入门》     2.幽感:花费了数天的时间,将《Perl语言入门》过了一遍,当然很多地方看的并不是特别细致,但在目前这个阶段,我也觉得并不需要特别钻,在可预见的工作中...
  • BlackEnn
  • BlackEnn
  • 2016年08月14日 21:10
  • 2264

Perl语言入门——文件测试

文件测试操作符:-e 测试文件存在与否     die "Oops!A file called '$filename' already exists.\n"  if -e $filename;    ...
  • rockiecxh
  • rockiecxh
  • 2014年05月07日 14:56
  • 298

Perl笔记:Perl语言入门(第六版) - IO文件目录

输入与输出 读取标准输入 chomp($line = ); chomp截掉最后的换行符,标准输入。 while (defined($line = )) { print "$line"; } 简写whi...
  • u012740949
  • u012740949
  • 2014年01月27日 14:53
  • 1430

perl 快速入门

本文介绍从变量类型、操作运算符、控制叙述、子程序、I/O和档案处理、 Regular Expressions、Spectial Variables、Help、函数、总结几个部分介绍perl,只是叙述了...
  • u012554768
  • u012554768
  • 2014年10月28日 11:14
  • 653

Perl语言入门笔记 第十二章 文件测试

=pod 第十二章 文件测试 文件测试操作符: -e:判断文件是否存在 在创建新文件程序之前,应先检查指定的文件是否已经存在,以免意外覆盖重要的电子表格或是宝贵的生日档案。要...
  • q1241580040
  • q1241580040
  • 2015年09月21日 01:58
  • 583

Perl语言入门笔记 第五章 输入与输出(标准输入输出,文件句柄,printf,die,say)

=pod #第五章 输入与输出 while(defined($line = )) #defined (xxx) xxx为undef则为假,否则为真 { print "I saw $lin...
  • q1241580040
  • q1241580040
  • 2015年09月21日 01:29
  • 1908

Perl中的文件检测操作

文件检测操作 如果程序会建立新的文件,在程序创建新文件之前,我们应先确定是否存在同名的文件,以免重要数据被覆盖掉。对于这种问题,我们可以使用– 选项,检测是否存在相同名字的文件: die "O...
  • lw370481
  • lw370481
  • 2014年01月08日 08:41
  • 874

实战Perl脚本测试

实战Perl脚本测试(转) 这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的模块,如果文中介绍的不够详细,请到cpan上搜索该模块并查阅其文档。  1基本语法检查...
  • everysmile
  • everysmile
  • 2013年03月16日 16:30
  • 6411
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Perl语言入门(第五版) 读书笔记(六)---文件测试
举报原因:
原因补充:

(最多只允许输入30个字)