see $| and IO::Handle::setvbuf If you use the default settings with syswrite you should be ok. If you are on a system where this does not work you can add an flock around the syswrite.
BEGIN { $SIG{'__WARN__'} = sub { syswrite STDERR, $_[0] } } warn "Warnings go to STDERR\n";
Update: added example.
In reply to Re: multiple programs sharing redirected STDERR
by gam3
in thread multiple programs sharing redirected STDERR
by ff
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |