退出拖尾文件 - 在perl中

时间:2011-10-18 20:44:49

标签: perl tail-recursion filehandle file-handling

我有一些代码基本上是一个文件。 该文件每秒填充近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);

}

所有这一切都运行良好,但是我希望当文件output.txt没有进一步填充时,此perl脚本会自动退出。

除了使用旗帜技术之外还有其他方法吗?由perl做出的规定?

1 个答案:

答案 0 :(得分:1)

我知道Perl没有内置任何东西。您可以检查文件大小(使用tell),记录文件大小更改的时间,如果自上次更改后已经过了太多时间,则退出。