如何在Perl中跟随以结束位置(tail -fn 0)开头的文件

时间:2015-10-27 08:23:27

标签: perl io

我想做一些类似" tail -fn 0 fileName"的事情。 所以我需要跳到文件的末尾并只读取附加的行。

这是以下文件的代码:

open(FH,"<" ,"fileName.txt") || die "Can't open file , $!";
for (;;) {
    while (<FH>) {
      #process line 
}
    sleep(1);
    seek(FH, 0, 1);
}

我试图在for循环之前将位置设置为文件末尾,但它仍然从头开始读取。

seek(FH , -1 , SEEK_END); 

1 个答案:

答案 0 :(得分:1)

您可能希望先启用警告

>> import array
>> tmp = array.array('B', [0x00, 0x01, 0x02]).tostring()
>> ser.write(tmp.encode())

并导入搜索常量(use warnings;

SEEK_END

之后

use Fcntl qw(:seek);

会将句柄定位在最后一个字节之前的一个字节处,因此如果您不想在文件末尾进行操作,请使用seek(FH , -1 , SEEK_END) or warn "Can't seek"; 代替0