0

我正在使用 perl File::Tail 库来跟踪文件的输出并解析它的输出。

一切正常,除了在我启动脚本后开始输出之前似乎有大约 10 秒的延迟。第一次读取后,它工作正常,所有输出都是瞬时的。一旦开始工作,延迟期间的所有写入似乎都会输出,所以我不会丢失任何数据。我认为这与我正在阅读的文件无关,因为运行常规的“tail -f”可以立即工作。

这是整个脚本:

#!/bin/perl
use File::Tail;

$file=File::Tail->new("file.txt");

while (defined($line=$file->read)) {
    print "$line\n";
}

我从网上某处的一个例子中复制了这个。我对 perl 或 File::Tail 不是很熟悉,我希望我做错了什么。任何帮助,将不胜感激。

4

1 回答 1

1

请参阅interval文档中的选项:

在第一次检查文件之前将花费睡眠的初始秒数(实数)。默认为 10 秒,这意味着“File::Tail”将休眠 10 秒,然后确定文件中出现了多少新行。

于 2012-09-07T13:31:08.577 回答