file::tail は、ファイルの検索を待機している間、読み取り時にブロックされることを知っています。しかし、その待ち時間の間に、ファイルが見つけた行を一度に送信することは可能ですか? 見つけた行ごとにメールを送信する代わりに?だから私は行がある場合:
問題 112323
なにか
問題 93483948
なにか
最初の問題についてはメールを送信し、2 番目の問題については 2 番目のメールを送信します。両方の集合ではなく。サブルーチンは終了しないため、whileの外に置くことは明らかにできません。これを処理する最良の方法は何ですか?考え?ありがとうございました!
my agg_lines=();
use File::Tail;
$file=File::Tail->new(name=>$name, maxinterval=>300, adjustafter=>7);
while (defined($line=$file->read)) {
if($line=~m/.\|ISSUE \|./)
{
push(@agg_lines,$line);
}
send_mail(join("\n",@agglines));
}