我正在使用下面的代码连续读取文件。我遇到的问题是,每当我运行代码时,它都会从文件开头开始,返回整个文件,而不是从最后 50 行开始。
我查阅了文档并尝试了 tail=>n 参数的不同值 - 甚至 n= 文件中的总行数减去 50 - 但是我的代码每次都从文件的开头开始,而不是像我一样在结尾处开始需要。我究竟做错了什么?
use strict;
use warnings;
use File::Tail;
my $name; #file name
my $name="/home/richard/double-take/messages.log";
my $line;
my $file=File::Tail->new(name=>$name, interval=>3, maxinterval=>3, tail=>50);
while (defined($line=$file->read)) {
print "$line";
}