summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-08-01 23:43:45 -0500
committerJesse Luehrs <doy@tozt.net>2011-08-02 00:03:42 -0500
commita0e934a667e05d3a8b5556e257938472cd9d6243 (patch)
tree40e6a83bf3ab4bcb44ad387e1677472bb9de9615 /lib
parent7fdc514fb2d9768b3d38d078cf24d9d03403539b (diff)
downloadeval-closure-a0e934a667e05d3a8b5556e257938472cd9d6243.tar.gz
eval-closure-a0e934a667e05d3a8b5556e257938472cd9d6243.zip
stop compiling stuff in the Eval::Closure package directly
Diffstat (limited to 'lib')
-rw-r--r--lib/Eval/Closure.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Eval/Closure.pm b/lib/Eval/Closure.pm
index 787754c..45c36b6 100644
--- a/lib/Eval/Closure.pm
+++ b/lib/Eval/Closure.pm
@@ -202,7 +202,11 @@ sub _clean_eval_closure {
unless (exists $compiler_cache{$source}) {
local $@;
local $SIG{__DIE__};
- my $compiler = eval $source;
+ my $compiler = do {
+ package # hide from PAUSE
+ Eval::Closure::Sandbox;
+ eval $source;
+ };
my $e = $@;
$compiler_cache{$source} = [ $compiler, $e ];
}