diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-10-20 15:19:31 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-10-20 15:19:31 -0500 |
commit | 18b5b42a6d73121cf9ea8092d943ca4f5d3cc545 (patch) | |
tree | d58625fbfe8f2a58d3baf38cd1058a2549ad803b /lib/Eval/Closure.pm | |
parent | 26eb0e7a6a9fd292fe305e389089e4611e223e0d (diff) | |
download | eval-closure-18b5b42a6d73121cf9ea8092d943ca4f5d3cc545.tar.gz eval-closure-18b5b42a6d73121cf9ea8092d943ca4f5d3cc545.zip |
capture $@ immediately
Diffstat (limited to 'lib/Eval/Closure.pm')
-rw-r--r-- | lib/Eval/Closure.pm | 5 |
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 { |