任何人都可以给我一些关于这段代码的意见吗?
#!/usr/local/bin/perl
use File::Tail;
$file = File::Tail -> new("/var/log/snort/snort.log.1301090101");
while(defined($line=$file ->read))
{
print $line;
}
由于日志文件是二进制格式,所以我尝试像这样修改代码
#!/usr/local/bin/perl
use File::Tail;
$file = File::Tail -> new("/var/log/snort/snort.log.1301090101");
open(my $LF, "-|", "/usr/local/bin/snort -r $file") or die "$!";
while(defined($line=$file ->read))
{
print $line;
}
这段代码似乎有一些语法错误..不可能结合管道和文件尾功能?函数不是file::tail
已经包含open()
方法了吗?
第二个问题是关于$file = File::Tail -> new(<Filename>);
<Filename>
似乎必须是单个文件并且必须指向特定文件名...如果我有 3 个文件:snort.log.1301090101
并且snort.log.1301090102
在snort.log.1301090102
同一目录中,则无法使用单个File::Tail
函数来读取所有文件或其中的文件目录?