Test::Output is interesting, but I had to make a few adjustments to get it to work. I took Grandfather's script, added a test from Test::Output.
package Test_Package;
use strict;
sub testing {
print "okay";
};
1;
use strict;
use Test::Output;
use Test::More tests => 4;
my $log;
open my $logFile, '>', \$log;
my $oldStdOut = select $logFile;
Test_Package->testing(\$log);
select $oldStdOut;
close $logFile;
stdout_is {print "okay"} "okay", "STDOUT okay";
is('okay', 'okay');
is($log, 'okay');
is($log, 'okay', 'testing okay');
|