`
liqing6044313
  • 浏览: 37218 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

perl文件目录操作

阅读更多
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 文件存在且大小为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目录"。
分享到:
评论

相关推荐

    使用perl读写文件

    对学习使用Perl操作文件时写的,在开始学习对Perl文件操作时,使用了$_,导致调试了很长时间,现在改正后做笔记到此

    perl读取文件

    在window下使用ActivePerl,使用读取句柄操作,对txt文件替换进行操作。使用时,注意将txt文件和perl源文件放在同一个目录下。

    perl 处理大的数据文件

    源代码中提供了perl如何处理大的XML文件的方法,并在文件中对文件进行基于正则表达式的替换操作以形成新的文件。此方法既能极大的降低内存消耗,又提高了读取速度。

    perl 对文本一些常用操作和常用正则表达式

    包含perl对文本的一些常用操作,字符串的操作,excel的操作。相关函数的操作,和经常用到的一些正则表达式~~~(本人平常用到的一点收集,供用perl开发的朋友参考一下)

    PERL编程24学时教程.pdf

    第5学时 进行文件操作 53 5.1 打开文件 53 5.1.1 路径名 54 5.1.2 出色的防错措施 55 5.1.3 以适当的方式运行die函数 56 5.2 读取文件 56 5.3 写入文件 58 5.4 自由文件、测试文件和二进制数据 60 5.4.1 自由文件...

    24小时学会 Perl 语言

    第5讲 运行文件操作 第6讲 模式匹配 第7讲 哈希结构 第8讲 函数 第9讲 其他函数和运算符 第10讲 文件与目录 第11讲 系统之间的互操作性 第12讲 使用Perl的命令行工具 第13讲 引用与结构 第14讲 使用模块 第15讲 了解...

    PERL语言编程

    你需要一种可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能把这些你感兴趣的东西交给其它...

    Perl语言程序设计 中文版

    它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能把这些你感兴趣的东西交给其它程序做...

    Perl/Tkx的genesis板边脚本

    用Perl/Tkx写的genesis2000板边脚本

    Perl实例精解(第四版).part2

    Perl 最初用于操作文件中的文本、从文件中提取数据和编写报表,但经过不断的发展,它现在可以操作进程、执行网络任务、处理Web 页面、与数据库通信,以及分析科学数据。Perl 确实是程序设计语言的“瑞士军刀”,任何...

    Perl 实例精解(第三版).pdf

    16.1.7 通过目录文件句柄访问目录 16.1.8 许可和所有权 16.1.9 硬和软链接 16.1.10 更改文件名 16.1.11 更改访问和修改时间 16.12 文件统计量 16.1.13 低级文件I/O 16.1.14 压缩和解压缩数据...

    Perl5语言全教程

    二、目录处理函数 1、mkdir 2、chdir 3、opendir 4、closedir 5、readdir 6、telldir 7、seekdir 8、rewinddir 9、rmdir 三、文件属性函数 1、文件重定位函数 2、链接和符号链接函数 3、文件许可权函数 ...

    Perl语言入门(第五版-中文版).pdf

    操作文件与目录 删除文件 重命名文件 链接与文件 建立及移除目录 修改权限 更改隶属关系 修改时间戳 习题 第十四章字符串与排序 在字符串内用index搜索 用substr处理子串 高级排序 习题 第十五章智能...

    PERL编程24学时教程

    第5学时 进行文件操作 53 5.1 打开文件 53 5.1.1 路径名 54 5.1.2 出色的防错措施 55 5.1.3 以适当的方式运行die函数 56 5.2 读取文件 56 5.3 写入文件 58 5.4 自由文件、测试文件和二进制数据 60 5.4.1 自由文件...

    perl 程序开发教程

    二、目录处理函数 1、mkdir 2、chdir 3、opendir 4、closedir 5、readdir 6、telldir 7、seekdir 8、rewinddir 9、rmdir 三、文件属性函数 1、文件重定位函数 2、链接和符号链接函数 3、文件许可权函数 ...

    scp分发文件的perl脚本

    使用scp向指定的机器列表指定路径复制文件的脚本,可用于集群批量操作;

    perl语言脚本文档说明

    第5学时 进行文件操作 53 5.1 打开文件 53 5.1.1 路径名 54 5.1.2 出色的防错措施 55 5.1.3 以适当的方式运行die函数 56 5.2 读取文件 56 5.3 写入文件 58 5.4 自由文件、测试文件和二进制数据 60 5.4.1 ...

    perl编程24学时教程.rar

    第5学时 进行文件操作 53 5.1 打开文件 53 5.1.1 路径名 54 5.1.2 出色的防错措施 55 5.1.3 以适当的方式运行die函数 56 5.2 读取文件 56 5.3 写入文件 58 5.4 自由文件、测试文件和二进制数据 60 5.4.1 ...

    perl语言入门

    ·文件的操作 ·正则表达式 ·字符串的操作 ·列表与排序 ·进程的管理 ·智能匹配 ·第三方模块的使用 有些人只是想要完成任务,Perl语言为此而生。Perl的最初目标只是为了协助Unix系统管理员完成日常繁琐的文本...

Global site tag (gtag.js) - Google Analytics