设为首页 收藏本站
查看: 812|回复: 0

[经验分享] 学习Perl的 10 个简单课程 -第三课

[复制链接]

尚未签到

发表于 2017-5-19 10:51:29 | 显示全部楼层 |阅读模式
  原文地址:http://www.linuxforums.org/programming/learn_perl_in_10_easy_lessons__lesson_3.html


文件处理
  Perl语言旨在让文件处理变更简单、高效。
  打开和关闭文件

  用“open”命令打开文件,它需要两个参数:文件柄和文件自己的名称。文件柄是一个变量,它是在脚本内处理文件的表示。例如,下面的代码将打开“clients.txt”文件,其文件柄是CLIENTS:

open (CLIENTS, "clients.txt");
  默认情况下,文件以只读模式打开。也可以以可写模式打开文件。如果文件已经存在或已经写入数据,则数据将丢失。以可写模式打开文件只需要在文件名前加“>”符号:

open (CLIENTS, ">clients.txt");
  如果希望保留文件中的数据,则可以以追加模式打开文件。这样,文件原来的数据得以保留,而您写入的数据将追加到文件中。具体方法是在文件名前加“>>”符号:

open (CLIENTS, ">>clients.txt");
  open命令在打开成功时返回真,反之返回假。可以使用引值测试操作成功与否。例如,下面的代码以可写方式打开文件,并在失败时返回“Insufficientprivileges”。

open (CLIENTS, ">clients.txt") or print "Insufficientprivileges\n";
  切记处理完文件时一定要关闭文件,不闭关文件,则更改将会丢失。要关闭文件,只需在文件柄上使用“close”命令。
  close (CLIENTS);
  向文件写入数据

  下面的代码将“Mr John Doe”写入到“clients.txt”文件的结尾:

open (CLIENTS, ">>clients.txt") or die "Insufficientprivileges\n";
print CLIENTS "Mr John Doe\n";
close (CLIENTS);
  从文件读取数据

  有许多方法可以从文件读取数据,下面是两种最常用的方法。
  一、将文件内容复制到数组中

  可以将文件的所有内容复制到数组中。每一行对应数组中的一个元素,如:

open(CLIENTS, "clients.txt");
@lines = <CLIENTS>;
close(CLIENTS);
print @lines;
  二、通过文件柄进行循环

  使用while语句进行循环($line = ),例如clients文件中有许多行,将当前行分配给$line:

open (CLIENTS, "clients.txt");
while ($line = <CLIENTS> ) {
print $line;
}
close (CLIENTS);
  可见,使用Perl处理文件非常方便。下一课将学习如何搜索文件中的特定元素以及如何处理字符串。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379025-1-1.html 上篇帖子: 在IIS6中配置Perl/CGI支持(图文) 下篇帖子: perl ssh scp 操作远程机器进行验证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表