Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: problems redirecting STDOUT and STDERR to a $variable

by philcrow (Priest)
on Feb 15, 2008 at 16:02 UTC ( #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.


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 (Pope) on Feb 15, 2008 at 18:03 UTC
    I prefer
    use IO::Handle qw( ); STDOUT->autoflush(1); STDERR->autoflush(1);

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://668158]
[Corion]: Meh. I think I have now the parts down that I want from a simple Javascript frontend for single-page- applications with a aPerl backend. But it seems that all Javascript templating modules either don't support two-way binding (which would be nice) or ...
[Corion]: ... don't support server-side precompilation (which means the client has to compile all templates to Javascript themselves), or are giant frameworks that expect to do everything (which is not what I want)
[Corion]: I feel that there is a talk somewhere in there, either about the structure and parts, or how I used several parts to get a complete whole.
[Corion]: Maybe I can still find something that is compatible with handlebars.js (which has JS precompilation) but allows for two-way data binding (which is great for the UI)

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2017-03-30 07:52 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (355 votes). Check out past polls.