加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl文件及目录操作

发布时间:2020-12-15 20:52:43 所属栏目:大数据 来源:网络整理
导读:!-- /* 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-f

<!-- /* 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?
文件存在且大小为 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 目录 "

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读