Perl文件及目录 *** 作

Perl文件及目录 *** 作,第1张

概述大多数程序都不是孤立的,它们与它们的环境相互作用。很多的程序也需要通过文件 *** 作实现数据的存贮和交换。 文件句柄(file handle)是Perl程序中为程序和外部世界提供I/O连接的名称。建议全部使用大写字母以示与变量等的区别。特别地,也可以将STDIN/STDOUT/STDERR也认为 是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文件及目录 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1283008.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存