perldoc で提供されている解決策に従って、エミュレートしようとして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
}