in reply to Is STDERR buffered?

But there are example code in perldoc, which make me think it's sometimes buffered

line-buffered means it buffered, so the article says its line-buffered, the code in select shows how to unbuffer it -- do you get it now?

In my tests it's always line buffered, even when not attached to terminal, but I wonder if this is always true or not.

Here is a start in finding out, it depends on your platform

UTSL :) http://perl5.git.perl.org/perl.git?a=search&h=HEAD&st=grep&s=stderr.%2Bbuf&sr=1
http://perl5.git.perl.org/perl.git/blob?f=Porting/Glossary#l1937

1937 d_setlinebuf (d_setlnbuf.U): 1938 This variable conditionally defines the HAS_SETLINEBUF sy +mbol, which 1939 indicates to the C program that the setlinebuf() routine +is available 1940 to change stderr or stdout from block-buffered or unbuffe +red to a 1941 line-buffered mode. 1942

C file input/output

Replies are listed 'Best First'.
Re^2: Is STDERR buffered?
by vsespb (Chaplain) on May 25, 2013 at 13:25 UTC

    Ok, Thanks!

    Indeed, it can be line-buffered, block-buffered or unbuffered. So, perldoc example make sense.

    But blogpost above talks about block-buffering, I believe. Anyway I'll try check perl source. Thanks!