Tailing已经在Perl中打开了文件

时间:2015-03-25 11:34:34

标签: perl file io multiprocessing tail

我有一个子进程动态写入一些信息。有时我需要获得此文件最后一行的N个数。但是当父进程正在读取文件时,子进程将继续写入它 我已经读过锁定它并解锁没有任何意义,但我不确定。我不会写任何来自父进程的东西,所以我只需要打开就可以阅读 我找到了模块File::Tail,但没有理解如何使用它来获取N个最后几行,请提供一些简单的示例。

另外我需要建议是否有必要在这种情况下使用锁定?

1 个答案:

答案 0 :(得分:0)

要阅读文件的最后N行,您可以使用CPAN模块File::ReadBackwards

use File::ReadBackwards;

my $lastlines = File::ReadBackwards->new("file.txt");
print reverse map { $lastlines->readline() } (1 .. 2);

这将打印文件的最后2行。将2替换为您想要的任何数字。