in reply to File contents not updated properly

You need to select the file handle as,
select(FH);
open(FH,">Sample"); select(FH); $|=1; while(1) { print FH "This is for testing\n"; sleep 1; }
Sathiyamoorthy

Replies are listed 'Best First'.
Re^2: File contents not updated properly
by fmerges (Chaplain) on Dec 09, 2008 at 18:02 UTC

    Hi,

    First of all, don't assume that you could open the file, check for it. Then use 3 argument open, and don't use a typeglob.

    open my $fh, '>', $filename or die "Can't open $filename: $!";

    The solution provided will leave the default handler to be *FH, which is not desired, meaning all prints, etc will use *FH; alternatives:

    # not so maintainable, but still used frequently select((select($fh), $|++)[0]); # better use IO::Handle; $fh->autoflush(1);

    Check out the link about buffering provided...

    Regards,

    fmerges at irc.freenode.net