filter out any fake lexical
Graham Knop [Tue, 26 Sep 2017 12:44:00 +0000 (14:44 +0200)]
lib/Eval/WithLexicals.pm

index b3a15e9..ac6a91e 100644 (file)
@@ -131,7 +131,7 @@ sub _eval_do {
 
   sub capture_list {
     my $pad_capture = \&Eval::WithLexicals::Cage::pad_capture;
-    my @names = grep defined && length && $_ ne '&', map $_->PV, grep $_->can('PV'),
+    my @names = grep defined && length > 1, map $_->PV, grep $_->can('PV'),
       svref_2object($pad_capture)->OUTSIDE->PADLIST->ARRAYelt(0)->ARRAY;
     $Eval::WithLexicals::current_code .=
       '+{ '.join(', ', map "'$_' => \\$_", @names).' };'