How do I flush a file in Perl?

Mihran Hovsepyan picture Mihran Hovsepyan · Dec 27, 2010 · Viewed 63.9k times · Source

I have Perl script which appends a new line to the existing file every 3 seconds. Also, there is a C++ application which reads from that file.

The problem is that the application begins to read the file after the script is done and file handle is closed. To avoid this I want to flush after each line append. How can I do that?

Answer

paxdiablo picture paxdiablo · Dec 27, 2010

Try:

use IO::Handle;
$fh->autoflush;

This was actually posted as a way of auto-flushing in an early question of mine, which asked about the universally accepted bad way of achieving this :-)