open(STDOUT, '>-');
open(STDOUT, '>&=1');
####
use POSIX;
local $/ = undef;
my $chldoutput;
my $TRAP = POSIX::tmpnam();
print "Gonna use $TRAP\n";
open(SAVE1, ">&STDOUT");
open(SAVE2, ">&STDERR");
close(STDOUT);
open(STDERR, ">$TRAP");
open(STDOUT, ">>$TRAP") || die("$!: $TRAP"); #+> didn't work
eval "print STDERR 'Scary... ';print 'Waka waka!'";
close(STDOUT);
close(STDERR);
open(STDOUT, ">&SAVE1");
open(STDERR, ">&SAVE2");
open(INPUT, $TRAP) || die("$!: $TRAP");
$chldoutput = ;
print "ABC: $chldoutput\n";
unlink($TRAP);
####
--
perl -p -e "s/(?:\w);(st)/'\$1/mg"