Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: problems redirecting STDOUT and STDERR to a $variable

by philcrow (Priest)
on Feb 15, 2008 at 16:02 UTC ( [id://668158]=note: print w/replies, xml ) Need Help??


in reply to problems redirecting STDOUT and STDERR to a $variable

When you print without specifying a handle, output goes to the selected handle, which defaults to STDOUT. If you select STDERR, print goes there by default instead. For CGI to work, you must print what the browser receives on STDOUT.

One solution would be to reverse the order of the selects, so STDOUT is left selected after the hot buffering request. Normal practice is to store the return value of the first select and restore it after you finish messing with $|:

my $original_fh = select STDOUT; $| = 1; select STDERR; $| = 1; select $original_fh;
This works even if someone had already hijacked the default output handle.

Phil

The Gantry Web Framework Book is now available.

Replies are listed 'Best First'.
Re^2: problems redirecting STDOUT and STDERR to a $variable
by ikegami (Patriarch) on Feb 15, 2008 at 18:03 UTC
    I prefer
    use IO::Handle qw( ); STDOUT->autoflush(1); STDERR->autoflush(1);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://668158]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2024-04-18 16:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found