in reply to Re^2: Need Help: Capture STDOUT without Redirecting
in thread Need Help: Capture STDOUT without Redirecting

However, I cannot modify the sub whose outputs I want.

Not a problem.

#!/usr/bin/perl use strict; use warnings; use IO::Tee (); my $buf; { open(my $buf_fh, '>', \$buf ) or die "Unable to create a write-to-memory handle: $!\n"); my $tee = IO::Tee->new(\*STDOUT, $buf_fh); my $old_select = select($tee); mysub(); select($old_select); } mysub(); } print "buffer: $buf\n"; sub mysub{ print "mysub output\n"; }

The above is untested. If it doesn't work, I'm sure it's fixable.

Update: Tested (as much as I can with Perl v5.6.1) and fixed. Keep in mind the previously discussed caveats to using select.

I don't have the module and doubt that the admin would install it.

Then install it in your account. This is super easy in this case since the module consists entirely of one .pm.