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.