diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-09-17 22:39:17 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-09-17 22:41:09 -0700 |
commit | 6ec73527899164b78a87bc4fc6b180ea6f8087b5 (patch) | |
tree | 2999fd3114ffabb3e234719ae3440a6fff49dfdc | |
parent | 433644eed8ac93495dfaad947c1503ce219b414b (diff) | |
download | perl-6ec73527899164b78a87bc4fc6b180ea6f8087b5.tar.gz |
Deparse $#{/} correctly
-rw-r--r-- | dist/B-Deparse/Deparse.pm | 3 | ||||
-rw-r--r-- | dist/B-Deparse/t/deparse.t | 7 | ||||
-rw-r--r-- | pod/perldelta.pod | 6 |
3 files changed, 16 insertions, 0 deletions
diff --git a/dist/B-Deparse/Deparse.pm b/dist/B-Deparse/Deparse.pm index abe18a85ec..7936fcdbf6 100644 --- a/dist/B-Deparse/Deparse.pm +++ b/dist/B-Deparse/Deparse.pm @@ -1302,6 +1302,9 @@ sub stash_variable { return "$prefix\{$name}"; } } + if ($prefix eq '$#' && $name =~ /^[^\w+-]$/) { + return "\$#{$name}"; + } my $v = ($prefix eq '$#' ? '@' : $prefix) . $name; return $prefix .$self->{'curstash'}.'::'. $name if $self->lex_in_scope($v); diff --git a/dist/B-Deparse/t/deparse.t b/dist/B-Deparse/t/deparse.t index f8b52eda0c..92f8ae0857 100644 --- a/dist/B-Deparse/t/deparse.t +++ b/dist/B-Deparse/t/deparse.t @@ -765,3 +765,10 @@ CORE::given ($x) { CORE::break; } } +#### +# $#- $#+ $#{%} etc. +my @x; +@x = ($#{`}, $#{~}, $#{!}, $#{@}, $#{$}, $#{%}, $#{^}, $#{&}, $#{*}); +@x = ($#{(}, $#{)}, $#{[}, $#{{}, $#{]}, $#{}}, $#{'}, $#{"}, $#{,}); +@x = ($#{<}, $#{.}, $#{>}, $#{/}, $#{?}, $#{=}, $#+, $#{\}, $#{|}, $#-); +@x = ($#{;}, $#{:}); diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 178738a5d5..25ef87c49a 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -172,6 +172,12 @@ L<Archive::Tar> has been upgraded from version 1.76 to version 1.78. =item * +L<B::Deparse> has been upgraded from version 1.07 to 1.08. + +It now correctly deparses C<$#{/}>. + +=item * + L<CPAN::Meta> has been upgraded from version 2.112150 to version 2.112580. =item * |