本文转自: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目录"。

Perl文件及目录操作相关推荐

  1. python显示目录中的文件_Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  2. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  3. python创建文件os_Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模块 ...

  4. Shell命令-文件及目录操作之mkdir、mv

    文件及目录操作 - mkdir.mv 1.mkdir:创建目录 mkdir命令的功能说明 mkdir命令用于创建目录,默认情况下,要创建的目录已存在,会提示文件存在,不会继续创建目录. mkdir命令 ...

  5. linux文件目录操作实验报告,Linux操作系统实验4文件和目录操作

    <Linux操作系统>课程实验报告 实验4 文件和目录操作 一.实验目的 1.理解Linux文件系统的结构和目录组织方式: 2.掌握Linux常用目录和文件命令的使用. 二.实验内容与要求 ...

  6. 史上最完整的文件和目录操作类

    [文件操作类]史上最完整的文件和目录操作类 <a target=_blank href="http://bbs.cskin.net/thread-114-1-1.html"& ...

  7. Shell命令-文件及目录操作之chattr、lsattr

    文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...

  8. Java编程的逻辑 (59) - 文件和目录操作

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  9. Python 文件和目录操作总结

    Python文件和目录操作总结: 1. Python 中os模块基本命令 头文件 import os # 提供对操作系统进行调用的接口 os常用指令 1 os.getcwd() # 获取当前工作目录, ...

最新文章

  1. 结合ashx来在DataGrid中显示从数据库中读出的图片
  2. JavaScript学习笔记 - 入门篇(1)- 准备
  3. 什么是eager loading
  4. transformer中patch与token?
  5. 1gb 云服务器 和2gb的区别_(12)虚拟主机/VPS/云主机/服务器有什么区别?
  6. darknet编译报错 error: ‘__fatBinC_Wrapper_t’ does not name a type
  7. bzoj 3384: [Usaco2004 Nov]Apple Catching 接苹果(DP)
  8. html span设置外边距,行内元素内外边距探究:为何span设置上下margin和padding不起效...
  9. 【erlang ~ 4 days】 Day # 1.1 History
  10. Codejock.Xtreme.Toolkit.Pro.v15.3.1 vs2019可用
  11. (二)目前主流的 Java 虚拟机有哪些?
  12. Springer期刊LaTeX模板的一些问题
  13. PyQt、PySide、PySide2这三者到底有什么区别?
  14. python snap7 简书_第14篇-Python中的Elasticsearch入门
  15. JAVA:实现Aliquot Sum等分总和算法(附完整源码)
  16. 无监督学习——K均值聚类的Python实现
  17. D. Very Suspicious(数学 + 二分查找)
  18. 华为宣布鸿蒙升级,华为宣布鸿蒙系统升级至2.0版本 明年华为手机全面支持
  19. 教你把Pycharm编辑器更改为黑色主题
  20. Unity3d DOTween 插件 详细使用方法

热门文章

  1. atom-design(Vue.js移动端组件库)手势组件介绍
  2. 使用百度API进行关键点识别
  3. 用redis解决超卖
  4. 使用nginx cache缓存网站数据实践
  5. Paket:一个面向.NET的包管理器
  6. 关于多网络时钟的讨论
  7. 详解华为交换机iStack特性
  8. shd_config ssh设置(ssh客户端连接服务器断开)
  9. cache_purge php
  10. java选择排序解释_选择排序