summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-10-20 15:19:31 -0500
committerJesse Luehrs <doy@tozt.net>2010-10-20 15:19:31 -0500
commit18b5b42a6d73121cf9ea8092d943ca4f5d3cc545 (patch)
treed58625fbfe8f2a58d3baf38cd1058a2549ad803b
parent26eb0e7a6a9fd292fe305e389089e4611e223e0d (diff)
downloadeval-closure-18b5b42a6d73121cf9ea8092d943ca4f5d3cc545.tar.gz
eval-closure-18b5b42a6d73121cf9ea8092d943ca4f5d3cc545.zip
capture $@ immediately
-rw-r--r--lib/Eval/Closure.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Eval/Closure.pm b/lib/Eval/Closure.pm
index e45cb98..0037337 100644
--- a/lib/Eval/Closure.pm
+++ b/lib/Eval/Closure.pm
@@ -59,13 +59,14 @@ sub _clean_eval_closure {
}
my $code = eval _make_source(@_);
+ my $e = $@;
if (!ref($code) || ref($code) ne 'CODE') {
undef $code;
- $@ = "The 'source' parameter must return a subroutine reference";
+ $e = "The 'source' parameter must return a subroutine reference";
}
- return ($code, $@);
+ return ($code, $e);
}
sub _make_source {