linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > perl >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·perl入门学习指南
·perl入门教程:Perl 的变量
·perl入门教程:Perl的语法与C语
·Perl文件及目录操作
·perl入门教程:Perl概述
·perl入门教程:正则表达式
·perl 学习笔记
·Perl常用系统函数
·perl中传递和存储文件句柄
·Perl连接Oracle数据库的方法
·curl+perl的自动MAIL报警程序
·使用 perldoc 找文档
·perl入门教程:Perl 程序的属性
·Perl新手的误区和新手必读
·Perl命令行应用介绍
最新文章
·perl 学习笔记
·Perl 特殊变量
·perl Base64码的获取
·perl 父子进程的数据库连接继承
·工作中的实用 perl 脚本
·perl中传递和存储文件句柄
·curl+perl的自动MAIL报警程序
·Perl类包的动态调用
·使用open创建的管道进行父子进
·perl 执行一个系统命令(svn in
·windows平台下根据可执行文件名
·关联数组(hash)
·Perl语言在风险评估的系统基础
·在Perl/CGI中使用模板
·PERL CGI 常见问题
Google
 
Perl文件及目录操作
[ 作者:  加入时间:2007-10-09 13:07:37  来自:Linux联盟收集整理 ]

大多数程序都不是孤立的,它们与它们的环境相互作用。很多的程序也需要通过文件操作实现数据的存贮和交换。 文件句柄(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")||  waPLinux联盟
die "出错,不能建立/tmp/outfile\n"; 

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

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

close(OUTFILE); 

-x 文件测试 

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

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

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

  以下为文件测试清单: 

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

waPLinux联盟
删除文件 

  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目录"。 

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Perl语言在风险评估的系统基础信息采集工作中的应用  (2007-10-29 11:21:11)
 ·在Perl/CGI中使用模板  (2007-10-11 17:35:11)
 ·PERL CGI 常见问题  (2007-10-11 17:34:39)
 ·perl写CGI时出现500号错误总结  (2007-10-11 17:33:28)
 ·Perl编写CGI时需要注意问题  (2007-10-11 17:32:44)
 ·Perl CGI编程安全点滴  (2007-10-11 17:31:59)
 ·关于PERL的数据库  (2007-10-11 17:29:46)
 ·perl连接access数据库  (2007-10-11 17:28:57)
 ·perl使用DMB数据库的方法  (2007-10-11 17:28:14)
 ·Perl语言中向数据库中写值的特殊字符问题  (2007-10-11 17:27:11)