X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FEval-WithLexicals.git;a=blobdiff_plain;f=lib%2FEval%2FWithLexicals.pm;h=32b84e8cdb200bb2d6c78364673ed9eb2dd2f390;hp=89c491cd23876efd1e250b3bbfaa93817f1514ec;hb=b2a2beb4d15e28bcd694542a0a0ecd1719ca3b35;hpb=de16a67b84979f039b49182d93412503f15fd2f6 diff --git a/lib/Eval/WithLexicals.pm b/lib/Eval/WithLexicals.pm index 89c491c..32b84e8 100644 --- a/lib/Eval/WithLexicals.pm +++ b/lib/Eval/WithLexicals.pm @@ -131,7 +131,7 @@ sub _eval_do { sub capture_list { my $pad_capture = \&Eval::WithLexicals::Cage::pad_capture; - my @names = grep $_ ne '&', map $_->PV, grep $_->isa('B::PV'), + my @names = grep defined && $_ ne '&', map $_->PV, grep $_->can('PV'), svref_2object($pad_capture)->OUTSIDE->PADLIST->ARRAYelt(0)->ARRAY; $Eval::WithLexicals::current_code .= '+{ '.join(', ', map "'$_' => \\$_", @names).' };'