use IO::String; my $buffer; my $oldfh = select(new IO::String \$buffer); eval ' print "This is a test."; ' or die; select($oldfh); print "Captured: '$buffer'\n";