0

基本的にファイルを追跡するこのコードがあります。このファイルには、毎秒 100 近くのエントリが読み込まれます。

open (MYFILE, 'output.txt');
for (;;)
{
    while (<MYFILE>)
    {
        chomp;
        my $test=$_;
        if  ($test =~ m/^ok/)
        {
            $passed++;
            print "Number of passed :$passed\n";
            print "Number of failed :$failed\n";
        }
        elsif ($test =~ m/^not/)
        {
            $failed++;
            print "Number of passed :$passed\n";
            print "Number of failed :$failed\n";
        }
        elsif ($test =~ m/^The time taken is: (.*)/)
        { push (@array, "$1") ; }
        $row++;

    }
sleep (5);
print "It has been ".(time - $time)."seconds\n";
seek(MYFILE, 0, 1);

}

これはすべて正常に機能しますが、ファイルがそれ以上読み込まれなくなったときに、この perl スクリプトを自動的に終了させたいと考えていますoutput.txt

フラグテクニックを使用する以外に方法はありますか? perlによる規定?

4

1 に答える 1

1

私が知っている Perl に組み込まれているものは何もありません。( を使用して) ファイル サイズを確認し、tellファイル サイズが変更された時刻を記録し、最後の変更から時間が経過している場合は終了することができます。

于 2011-10-18T20:49:34.493 に答える