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

开发 架构
本文向大家简单介绍一下Perl的经典用法:用Open()函数打开Perl文件,在Perl编程语言中Perl文件的读写非常重要,这里和大家分享一下打开Perl文件的方法。

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

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:$!";

【编辑推荐】

  1. Perl文件操作七大技巧揭秘
  2. 深入学习Perl文件系统用法 
  3. Perl引用中直接引用用法解析
  4. 解析读写Perl文件的简明步骤
  5. 技术分享 解析Perl模块创建和导入方法

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-19 10:01:57

Perl函数

2010-07-23 15:59:33

Perl encode

2010-07-19 14:20:57

Perl函数

2010-07-19 15:01:26

Perl数学函数

2010-07-19 14:13:41

Perl函数

2010-07-16 16:56:01

Perl构造函数

2010-07-23 13:53:33

Perl grep函数

2010-07-13 09:14:21

Perl时间处理函数

2010-07-21 10:10:50

Perl split函

2010-07-21 14:18:27

Perl函数

2010-07-19 14:37:01

Perl进程启动函数

2010-07-26 15:17:51

Perl解析XML文件

2010-07-16 16:32:17

Perl文件

2010-07-26 10:09:01

Perl split函

2010-07-13 09:34:24

Perl纯变量

2010-07-21 13:59:59

Perl引用

2010-07-19 15:25:39

Perl标量转换函数

2010-07-21 10:32:05

Perl函数返回值

2010-07-16 17:04:38

Perl方法

2010-07-20 15:02:20

Perl数组
点赞
收藏

51CTO技术栈公众号