Perl-向后读取循环日志文件

Perl-向后读取循环日志文件,perl,binary,freebsd,logfile,Perl,Binary,Freebsd,Logfile,我目前正在使用Perl,使用恰当命名的File::ReadBackwards模块向后读取日志文件。但是,它返回的第一行仅包含 CLOG� �� 我试图读取循环日志文件的最后一行,是否做错了什么 以下是相关代码: use File::ReadBackwards; my $filePath = '/var/log/'; my @fileNames = ('gateways.log', 'system.log'); for(my $i = 0; $i <= @fileNames; $i++)

我目前正在使用Perl,使用恰当命名的File::ReadBackwards模块向后读取日志文件。但是,它返回的第一行仅包含

CLOG� ��
我试图读取循环日志文件的最后一行,是否做错了什么

以下是相关代码:

use File::ReadBackwards;
my $filePath = '/var/log/';
my @fileNames = ('gateways.log', 'system.log');

for(my $i = 0; $i <= @fileNames; $i++){
    scanFile($filePath,$fileNames[$i]);
    sleep(60);
}

sub scanFile(){
    my $handle = File::ReadBackwards->new($_[0] . $_[1]);
    my $line = $handle->readline;
    return $line
}
使用File::ReadBackwards;
我的$filePath='/var/log/';
my@fileNames=('gateways.log','system.log');
对于(我的$i=0;新的$i($\u0].$\u1]);
my$line=$handle->readline;
返回$行
}
编辑:我刚刚读了这篇文章-'t\u I\u view\u view\u log\u files\u与\u cat/grep/etc%3F\u(阻塞)


我似乎找不到一个模块或类似的模块已经读取了这些内容,有谁能告诉我从这个阻塞中提取行的正确方法吗?

$I或者简单地使用
来获取我的$filename(@filename){scanFile($filePath,$filename);}
并且你不必关心增量。更完美的方式是:)您使用了什么方法生成循环日志文件?@Borodin日志文件是由PFSense创建的,我不完全确定它是如何创建的。我记得读过一些关于它是二进制的东西。@aruneshing它仍然返回相同的输出,包括$#和foreach循环。
$I或者简单地使用
foreach my$filename(@filename){scanFile($filePath,$filename);}
,您不必关心增量。更完美的方式。:)您使用了什么方法生成循环日志文件?@Borodin日志文件是由PFSense创建的,我不完全确定它是如何创建的。我记得读到一些关于它是二进制的东西。@aruneshing它仍然返回相同的输出,包括$#和foreach循环。