誰でもこのコードについて意見をいただけますか?
#!/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()
メソッドではありませんか?
2番目の質問は$file = File::Tail -> new(<Filename>);
<Filename>
、単一のファイルである必要があり、特定のファイル名を指す必要があるように見えることです... 3つのファイルsnort.log.1301090101
がsnort.log.1301090102
ありsnort.log.1301090102
、同じディレクトリにある場合、単一のFile::Tail
関数を使用してそのすべてまたは内部のファイルを読み取ることはできませんディレクトリ?