my $out; Filter \*STDOUT, sub { $out = sprintf "%d: %s\n", 1, "@_"; () }; print "Foo"; UnFilter \*STDOUT; print $out eq "1: Foo\n" ? "ok 3\n" : "not ok 3\n";