How do I do a "tail -f" in perl? First try seek(GWFILE, 0, 1); The statement "seek(GWFILE, 0, 1)" doesn't change the current position, but it does clear the end-of- file condition on the handle, so that the next makes Perl try again to read something. If that doesn't work (it relies on features of your stdio implementation), then you need something more like this: for (;;) { for ($curpos = tell(GWFILE); ; $curpos = tell(GWFILE)) { # search for some stuff and put it into files } # sleep for a while seek(GWFILE, $curpos, 0); # seek to where we had been } If this still doesn't work, look into the POSIX module. POSIX defines the clearerr() method, which can remove the end of file condition on a filehandle. The method: read until end of file, clearerr(), read some more. Lather, rinse, repeat. There's also a File::Tail module from CPAN.