diff --git a/lib/eval.pl b/lib/eval.pl index a0fa4d9..2befe44 100755 --- a/lib/eval.pl +++ b/lib/eval.pl @@ -32,9 +32,9 @@ require "utf8_heavy.pl"; # save the old stdout, we're going to clobber it soon. STDOUT my $oldout; -my $outbuffer = ""; +my $outbuffer; +my $outputcode; open($oldout, ">&STDOUT") or die "Can't dup STDOUT: $!"; -$oldout->print("penis\n"); no warnings; @@ -162,9 +162,7 @@ use Storable qw/nfreeze/; nfreeze([]); #Preload Nfreeze since it's loaded on dem my $limit = 150 * $meg; # clobber stdout before we set rlimits. otherwise we can't do anything STDOUT - open(my $stdh, ">", \$outbuffer) - or die "Can't dup to buffer: $!"; - *STDOUT = $stdh; + open(STDOUT, ">", \$outbuffer) or die "Can't dup to buffer: $!"; ( setrlimit(RLIMIT_VMEM, 1024*$meg, 1024*$meg) @@ -234,8 +232,7 @@ use Storable qw/nfreeze/; nfreeze([]); #Preload Nfreeze since it's loaded on dem j_code($code); } - *STDOUT = $oldout; - print($outbuffer); + $oldout->print($outbuffer); exit; @@ -260,7 +257,7 @@ use Storable qw/nfreeze/; nfreeze([]); #Preload Nfreeze since it's loaded on dem my $out = ref($ret) ? Dumper( $ret ) : "" . $ret; - print $out; # unless $outbuffer; + print $out unless $outbuffer; if( $@ ) { print "ERROR: $@" } }