This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Deparse $#{/} correctly
authorFather Chrysostomos <sprout@cpan.org>
Sun, 18 Sep 2011 05:39:17 +0000 (22:39 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 18 Sep 2011 05:41:09 +0000 (22:41 -0700)
dist/B-Deparse/Deparse.pm
dist/B-Deparse/t/deparse.t
pod/perldelta.pod

index abe18a8..7936fcd 100644 (file)
@@ -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);
index f8b52ed..92f8ae0 100644 (file)
@@ -765,3 +765,10 @@ CORE::given ($x) {
         CORE::break;
     }
 }
+####
+# $#- $#+ $#{%} etc.
+my @x;
+@x = ($#{`}, $#{~}, $#{!}, $#{@}, $#{$}, $#{%}, $#{^}, $#{&}, $#{*});
+@x = ($#{(}, $#{)}, $#{[}, $#{{}, $#{]}, $#{}}, $#{'}, $#{"}, $#{,});
+@x = ($#{<}, $#{.}, $#{>}, $#{/}, $#{?}, $#{=}, $#+, $#{\}, $#{|}, $#-);
+@x = ($#{;}, $#{:});
index 178738a..25ef87c 100644 (file)
@@ -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 *