[perl #86060] $( $| $) need braces in regexps
authorFather Chrysostomos <sprout@cpan.org>
Sun, 25 Dec 2011 03:21:17 +0000 (19:21 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 25 Dec 2011 03:21:37 +0000 (19:21 -0800)
dist/B-Deparse/Deparse.pm
dist/B-Deparse/t/deparse.t

index 27c6773..ec5295e 100644 (file)
@@ -4440,7 +4440,9 @@ sub re_dq {
     } elsif ($type eq "join") {
        return $self->deparse($op->last, 26); # was join($", @ary)
     } else {
-       return $self->deparse($op, 26);
+       my $ret = $self->deparse($op, 26);
+       $ret =~ s/^\$([(|)])\z/\${$1}/; # $( $| $) need braces
+       return $ret;
     }
 }
 
index f050faa..6ede945 100644 (file)
@@ -934,6 +934,12 @@ my @x;
 () = *#;
 () = "${#}a";
 ####
+# [perl #86060] $( $| $) in regexps need braces
+/${(}/;
+/${|}/;
+/${)}/;
+/${(}${|}${)}/;
+####
 # ()[...]
 my(@a) = ()[()];
 ####