Perl文件及目录操作

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体;} h2 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:2; font-size:18.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} -->

Perl文件及目录操作

大多数程序都不是孤立的 , 它们与它们的环境相互作 用。很多的程序也需要通过文件操作实现数据的存贮和交换。   文件句柄 (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 
文件存在且大小为
-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 目录 "

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值