根據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