![]() |
|
Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
comment on |
( #3333=superdoc: print w/replies, xml ) | Need Help?? |
I don't have a lot to add, except maybe perspective so you understand why things are the way they are.
Think of why STDOUT and STDERR exist seperately and what their first use is. STDOUT prints to the screen, log, report, etc. As long as the data gets there, you're okay. So STDOUT's default behavior is to write the contents of the buffer when it gets to it. (With modern computers, this isn't such a big deal, but "back in the day", it made for more efficient resource use.) STDERR, on the other hand, was designed to report error information. And if an error is going to make the process crash, you want that error information to be written right now so it gets stored before the process ends. So when something gets to STDERR it gets printed immediately, for good reason. Therefore, it is not surprising that things will get intertwined if you are writing STDOUT and STDERR to the same location, just by the nature of the default behaviors.
-- In reply to Re: behaviour of STDOUT and STDERR
by tbone1
|
|