Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Answer: Redirecting all output to a var for post processing?

by zigster (Hermit)
on Feb 13, 2001 at 15:27 UTC ( #58115=categorized answer: print w/replies, xml ) Need Help??

Q&A > input and output > Redirecting all output to a var for post processing? - Answer contributed by zigster

Sorry I dont quite follow, if you want to make your program run quietly then just dont print anything to stdout??!! Could you not just concat any messages to an internal variable instead of printing. If you really want to

Do you mean that you want to capture stdout/stderr of a program that you fork? If that is the case then you could connect the child process to the parent via pipes and capture the op directly from the pipes (see below).

If you really want to capture stdout in this way you could wrap the program in a fork as in this incomplete example.

if ($pid = open(CHILD,"-|")) { while (<CHILD>) { $data .= $_; } print $data; } else { exec ("ls"); }
If you want to keep all the code in one module you could replace the exec with your parent code.

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2016-09-30 00:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:







    Results (562 votes). Check out past polls.