if $code is undef, we have an actual error; don't overwrite that
Jesse Luehrs [Wed, 20 Oct 2010 21:06:08 +0000 (16:06 -0500)]
lib/Eval/Closure.pm

index fbd3e2c..719701d 100644 (file)
@@ -77,7 +77,7 @@ sub _clean_eval_closure {
     my $code = eval _make_source(@_);
     my $e = $@;
 
-    if (!ref($code) || ref($code) ne 'CODE') {
+    if (defined($code) && (!ref($code) || ref($code) ne 'CODE')) {
         $e = "The 'source' parameter must return a subroutine reference, "
            . "not $code";
         undef $code;