首页›文章›perl readline函数详解

perl readline函数详解

计算机技术 · perl 程序开发2014-01-070次浏览0 个评论

readline函数是在内部实现操作符的函数。用法如下:

perl
readline FILEHANDLE

它从 FILEHANDLE 中读取下一条记录,FILEHANDLE 可以是一个文件句柄名称或者一个间接的文件句柄 表达式,该表达式要么返回实际文件句柄的名字要么返回一个指向任何类似文件句柄的东西的引用 (比如一个类型团)。在标量环境里,每次调用读取并返回下一条记录,直到到达文件结尾,这个时候后继的调用将返回 undef。在列表环境中,readline读取记录直到文件结束,然后返回一个记录列表。这里说的“记录”,我们通常的意思是一行文本,但是通过改变$/($INPUT_RECORD_SEPARATOR)的值可以让这个操作符用不同的方法给文本“分段”。还有,有些输入纪律,比如:para(段落模式)将以块的方式返回记录而不是行。设置:slurp纪律(或者解除 $/ 的定义)可以令这样的一块就是整个文件。
在标量环境中读取文件的时候,如果你碰巧读进了一个空文件,readline 第一次返回 "",然后在后继的每次调用都返回undef。如果从一个 ARGV 文件句柄中读取数据,那么每个文件都返回一个块(同样,空文件返回 ""),当全部读取完成的时候再读取就返回 undef。例如:

perl
$line = <STDIN>;
$line = readline(STDIN);      # 和上面一样
$line = readline(*STDIN);      # 和上面一样
$line = readline(\*STDIN);      # 和上面一样
open my $fh, " 'AnyOldClass';
$line = readline($fh);      # 和上面一样

评论

0

评论加载中…

发表评论

0/2000