Thanks, Timo and Moritz. > Because say() is a high-level function that uses the lower-level > $*OUT.print under the hood.
Ah, so an alternative would be to just redefine the sub: my $str = ''; sub say($arg) { $str ~= $arg } say 'hi'; use Test; is $str, 'hi', 'works'; Works great! Brian