我正在編寫一個程序,從IDS系統讀取規則和日誌文件。 我在Perl中使用File :: Tail函數 無法弄清楚如何使用它。 下面是我的一些例子...如何使用File :: Tail從同一目錄中讀取多個文件?
例1
#!/usr/local/bin/perl
use Fail::tail;
opendir RUL, "/etc/snort/rules" || die "Could not open RUL directory\n $!";
my @allrule = grep {/.rules$/} readdir RUL;
close RUL;
foreach my $rulefile (@allrule)
{
open(LF, "/etc/snort/rules/$rulefile") or die "$!";
while(<LF>)
print "$\n";
}
這個例子我能打印我的終端上的所有規則... 如何更改使用文件中的規則::尾巴功能,甚至將所有規則寫入一個新文件?
我嘗試這樣做:
Example 2
#!/user/local/bin/perl
.
.
.
foreach my $rulefile(@allfule)
{
$file = File::Tail->new("/etc/snort/rules/$rulefile");
while (defined(my $line = $file -> read))
{
print $line;
}
}
實施例2將不會運行。 任何人有任何想法,爲什麼它不運行?
我假設你真的是'文件:: Tail',而不是'失敗:: tail'。 – toolic 2011-03-21 16:39:02
你是什麼意思的「不會運行」?究竟它是如何失敗?你是否收到錯誤信息? – outis 2011-03-21 18:07:04
得到什麼......像程序正在運行,但第n打印出來,並沒有退出... – terrance 2011-03-21 18:56:01