http://qs1969.pair.com?node_id=897139


in reply to how to control/redirect print()

I don't remember the details of how I did this, but this was necessary for a module I published years ago to CPAN, Test::MonitorSites. A review of that code will likely turn up some useful clues.

UPDATE:

OK, this seems to be the code which did the trick:

my $Test = Test::Builder->new; my @handle_names = qw/ output failure_output todo_output /; my %old; $old{$_} = $Test->$_ for @handle_names; $Test->$_(\*STDOUT) for @handle_names; # which was restored like so . . . $Test->todo_output(*STDOUT); $Test->failure_output(*STDERR); $Test->output(*STDOUT);
-- Hugh

if( $lal && $lol ) { $life++; }
if( $insurance->rationing() ) { $people->die(); }