0

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));
  }
4

1 に答える 1