Perl经典用法:用Open()函数打开Perl文件

本文和大家重点讨论一下Perl的经典用法:用Open()函数打开Perl文件,open()函数通常带有两个参数,***个为Perl文件句柄,用于指向打开的Perl文件,第二个参数是Perl文件名及模式(Perl文件的打开模式)的混杂体。

创新互联主要从事网站建设、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务岭东,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

Perl的经典用法:用Open()函数打开Perl文件

打开Perl文件的常用法子是:
  open(FH,"<$filename")
  
  ordie"Couldn'topen$filenameforreading:$!";
  
  ◆open()函数通常带有两个参数,***个为Perl文件句柄,用于指向打开的Perl文件,第二个参数是Perl文件名及模式(Perl文件的打开模式)的混杂体,如果Perl文件被成功打开,open()函数返回true,否则为false。我们用“or”来该条件。
  
  上述代码中的模式由小于字符(<)来表现。如果Perl文件不存在,open()将返回false。此时,你可以读Perl文件句柄,但不可以写。
  
  大于字符表现写。如果Perl文件不存在,就会被创立。如果Perl文件存在,Perl文件被消除,以前的数据将会丧失。你可以写入Perl文件句柄,但不可以读入。
  
  如果Perl文件不存在,就创立它
  
  open(FH,">$filename")
  
  ordie"Couldn'topen$filenameforwriting:$!";
  
  如果Perl文件不存在,添加模式(用两个大于符号表现)可以用来创立新Perl文件,如果Perl文件存在,该模式并不会消除原本的数据。
  
  同“<”或“读”模式一样,你只能对Perl文件句柄进行写操作。(所以的写入内容都添加到Perl文件尾)。打算进行读操作,会产生运行差错。
  
  open(FH,">>$filename")
  
  ordie"Couldn'topen$filenameforappending:$!";
  
  ◆通过“+<”模式,你可以既可以读Perl文件,又可以写Perl文件。你可以通过tell()函数在Perl文件内部移动,通过seek()函数进行定位。如果Perl文件不存在,就会被创立。如果Perl文件已经存在,原本的数据不会被消除。
  
  如果你筹划消除原本的Perl文件内容,或者自己调用truncate()函数,或者使用“+>”模式。
  
  open()函数通常带有两个参数,***个为Perl文件句柄,用于指向打开的Perl文件,第二个参数是Perl文件名及模式(Perl文件的打开模式)的混杂体,注意“+<”和“+>”的差别,两者都可以可读可写。前者为非毁坏性写,后者为毁坏性写。
  
  
差错
  
  差错是如何出现的?很多处所都会出现差错:如目录不存在,Perl文件不可写入,你的程序丧失了Perl文件句柄等等。
  
  你该当反省系统调用的效果(如open()和sysopen()),看看是否调用成功。
  
  为了赞助用户查错,通常应用“ordie()”,你应记住这些用法。首先,应写出系统调用失败(“open”)的信息。其次,应写出Perl文件名的信息,以便修正错误时更容易地定位。第三,要写出打开Perl文件的法子,(“forwriting,”“forappending”)。第四,输出操作系统的出错信息(包孕在$!中)。这样,一旦出现Perl文件不能打开的问题,应用你的程序的用户会大体上知道为什么不能打开。有时,我们把***个和第三个合并在一起:
  
  ordie"unabletoappendto$filename:$!";
  
  如果在open()和出错信息中都写了Perl文件的全名,你会冒转变了open()的风险,使得出错信息不合时宜或不正确。
  
  ◆下面会出现虚伪的出错信息
  open(FH,"
  
  ordie"Can'topen/var/log/file.podforwriting:$!";

网站题目:Perl经典用法:用Open()函数打开Perl文件
文章分享:http://www.shufengxianlan.com/qtweb/news17/286367.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联