I wrote: > If a pad name is no longer an SV, then the current Showlex output will > not make sense any more: > > At v5.21.6-42-g199670d: > > $ perl5.21.7 -MO=Showlex -e 'my $a, our $b' > Pad of lexical names for comppadlist has 3 entries > 0: SPECIAL #1 &PL_sv_undef > 1: PVNV (0x7fa47302ae88) $a > 2: PVMG (0x7fa47302ae70) $b > Pad of lexical values for comppadlist has 3 entries > 0: SPECIAL #0 Nullsv > 1: NULL (0x7fa47302aeb8) > 2: NULL (0x7fa47302aee8) > -e syntax OK > > At the top we show PVNV and PVMG, but pad names will be neither; nor > will there be any such distinction. ... > The output would look like this: > > Pad of lexical names for comppadlist has 3 entries > 0: (0xbaff1edbead5) undef > 1: (0x7fa47302ae88) $a > 2: (0x7fa47302ae70) $b > Pad of lexical values for comppadlist has 3 entries > 0: SPECIAL #0 Nullsv > 1: NULL (0x7fa47302aeb8) > 2: NULL (0x7fa47302aee8) > -e syntax OK The documentation says: =head1 EXAMPLES Traditional form: $ perl -MO=Showlex -e 'my ($i,$j,$k)=(1,"foo")' Pad of lexical names for comppadlist has 4 entries 0: SPECIAL #1 &PL_sv_undef 1: PVNV (0x9db0fb0) $i 2: PVNV (0x9db0f38) $j 3: PVNV (0x9db0f50) $k Pad of lexical values for comppadlist has 5 entries 0: SPECIAL #1 &PL_sv_undef 1: NULL (0x9da4234) 2: NULL (0x9db0f2c) 3: NULL (0x9db0f44) 4: NULL (0x9da4264) -e syntax OK New-style form: $ perl -MO=Showlex,-newlex -e 'my ($i,$j,$k)=(1,"foo")' main Pad has 4 entries 0: SPECIAL #1 &PL_sv_undef 1: PVNV (0xa0c4fb8) "$i" = NULL (0xa0b8234) 2: PVNV (0xa0c4f40) "$j" = NULL (0xa0c4f34) 3: PVNV (0xa0c4f58) "$k" = NULL (0xa0c4f4c) -e syntax OK which seems to imply some level of backward-compatibility. While I could maintain that by faking the PVNV/PVMG/SPECIAL output (and add a -newnewlex option), I don't know that there is much point. Nothing on CPAN is using this module.Thread Previous