Perl文件及目录操作

http://www.blogjava.net/weidagang2046/articles/61995.html


大多数程序都不是孤立的,它们与它们的环境相互作用。很多的程序也需要通过文件操作实现数据的存贮和交换。 文件句柄(file handle)是Perl程序中为程序和外部世界提供I/O连接的名称。建议全部使用大写字母以示与变量等的区别。特别地,也可以将STDIN/STDOUT/STDERR也认为 是Perl的文件句柄,分别代表标准输入/标准输出/标准错误输出。  

打开及关闭文件  

  Perl的文件操作与C语言极为相似。如:  

open(FILENAME,"abc.txt");  

  该调用为读文件打开,若为写文件而打开,需在文件名前加上大于号:  

open(FILENAME,">abc.txt");  

  若要追加至文件尾,可在文件名前加上两个大于号:  

open(FILENAME,">>abc.txt");  

  以上三种open()格式在成功时返回真,失败时返回假。但程序中通常没有提示,出错时往往会被人们忽略。 通常当需要给出出错提示时,可加入die()函数。例:  

open(OUTFILE,">/tmp/outfile")||  
die "出错,不能建立/tmp/outfile\n";  

  当只有open失败时,才会执行die给出出错提示。  

  对文件句柄的操作完成后,可以用close操作符关闭文件。如:  

close(OUTFILE);  

-x 文件测试  

  Perl的文件操作也可以先测试文件是否存在,是否可读写等。如:  

$x="abc.txt";  
if(-e $x) { #abc.txt是否存在?  
# 存在操作  
} else {  
printf "文件不存在。\n";  
}  

-e操作符测试文件或目录是否存在。  

  以下为文件测试清单:  



文件测试 测试操作符提供的信息  
-r 文件或目录可读  
-w 文件或目录可写  
-x 文件或目录执行  
-o 文件或目录归用户所有  
-R 文件或目录对真正用户可读  
-W 文件或目录对真正用户可写  
-X 文件或目录对真正用户执行  
-O 文件或目录归真正用户所有  
-e 文件或目录存在  
-z 文件存在且大小为0  
-s 文件或目录存在且不为0(返回字节数)  
-f 文件为普通文件  
-d 文件为目录  
-l 文件为符号链接  
-p 文件为命名管道(FIFO)  
-S 文件为一个套口(socket)  
-b 文件为块特殊文件  
-c 文件为字符特殊文件  
-t 打开tty控制台的文件句柄  
-u 文件或目录是设置用户ID号  
-g 文件或目录是设置用户组ID号  
-k 文件或目录的sticky位置位  
-T 文件是文本文件  
-B 文件是二进制文件  
-M 以天为单位的存在时间  
-A 以天为单位访问时间  
-C 以天为单位同代码更改时间  


删除文件  

  Perl的unlink()操作符可实现删除文件。如:  

unlink("abc.txt"); #删除abc.txt  

文件重命名  

  Perl的rename()操作符可实现文件重命名。如:  

rename("abc","zmd")||die "出错,不能更名";  

  此时将abc更名为zmd,成功返回真,否则给出出错提示。  

目录操作  

  Perl中处理目录非常类似于处理文件。  

  打开目录句柄:  

opendir(ETC,"/etc")||die "出错,不能打开目录";  

  关闭目录句柄:  

closedir(ETC);  

  创建目录:  

mkdir("zmd",0777)||die "不能创建zmd目录";  

  0777为内部权限格式。  

  删除目录:  

rmdir("zmd")||die "不能删除zmd目录"。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值