use IO::Scalar; use Test::More qw(no_plan); my $string; tie *STDOUT, 'IO::Scalar', \$string; ok(test_foo() eq 'bar'); ok($string eq 'foo'); $string = ''; ok(test_bar() eq 'baz'); ok($string eq 'bar'); $string = ''; sub test_foo { print 'foo'; return 'bar'; } sub test_bar { print 'bar'; return 'baz'; }