Я использую приведенный ниже код для непрерывного чтения из файла. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я запускаю код, он начинается с начала файла, возвращая весь файл, а не с последних 50 строк.
Я проконсультировался с документации и попробовал разные значения аргумента Tail=>n - даже n=total строк в файле минус 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";
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... ds-the-end