http://qs321.pair.com?node_id=76517


in reply to capturing STDOUT

You could redirect STDOUT to a pipe using the pipe creation command. Then, when you're done, you can read the entire pipe into a variable.
my $bologna; { pipe(READ,WRITE); local *STDOUT=*WRITE; local $|=1; #don't forget to unbuffer (your evil STDOUT hard-coded code) $bologna=<READ>; } print $bologna;
Voila. Pipes kick *ss when it comes to storing variable amounts of data and handle redirection. Of course, this isn't a problem in PerlLand, but I welcome you to CLand, if you'd tag along...
AgentM Systems nor Nasca Enterprises nor Bone::Easy nor Macperl is responsible for the comments made by AgentM. Remember, you can build any logical system with NOR.