Perl - 实时读取日志文件

时间:2013-09-10 10:50:32

标签: perl logging real-time tail

除了使用模块File :: Tail(Perl扩展来读取不断更新的文件)o while while ...根据你,这是实时读取大日志文件的最佳方法吗?

1 个答案:

答案 0 :(得分:2)

读取文件直到eof,睡一段时间,清除文件句柄上的eof标志,然后再次尝试从中读取,

# open $fh..

while (1) {
    while (my $line = <$fh>) {
        # $line ...
    }
    # eof reached on $fh
    sleep 1;
    # clear eof flag on $fh
    seek($fh, 0, 1);      
}

使用sleep模块

可以缩短Time::HiRes