use File::Temp qw(tempfile); my $temp_fh = tempfile(); my $saved_fh = select($temp_fh); eval "print 'Waka waka!'"; seek ($temp_fh, 0, 0); select($saved_fh); $text = join '', <$temp_fh>; print "The text was '$text'\n";