solution provided in perldocによると、私はtail -f
をエミュレートしようとしていますが、期待通りに動作しません。以下のコードはすべての行を最初に印刷することができますが、新しく追加された行は印刷できません。私がここで何かを逃しているなら、あなたは精巧に言ってください。Perlでtail -fをシミュレートする
#!/usr/bin/perl
open (LOGFILE, "aa") or die "could not open file reason $! \n";
for (;;)
{
seek(LOGFILE,0,1); ### clear OF condition
for ($curpos = tell(LOGFILE); <LOGFILE>; $curpos = tell(LOGFILE))
{
print "$_ \n";
}
sleep 1;
seek(LOGFILE,$curpos,0); ### Setting cursor at the EOF
}
「aa」とはどういう意味ですか? – sarnold
aaは継続的に成長しているファイル名であり、tail -f aaを実行する必要があります。 – user419534
も参照してください[File :: Tail](http://search.cpan.org/perldoc?File::Tail) – ikegami