diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-12-24 19:21:17 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-12-24 19:21:37 -0800 |
commit | 337d738129edc390df76d850cee24692bd9bac32 (patch) | |
tree | 191479eecc8995f80590fc7cc6f496ba2931bc41 /dist/B-Deparse | |
parent | 3489ea76f97f75100506d83215eff51d1e52d147 (diff) | |
download | perl-337d738129edc390df76d850cee24692bd9bac32.tar.gz |
[perl #86060] $( $| $) need braces in regexps
Diffstat (limited to 'dist/B-Deparse')
-rw-r--r-- | dist/B-Deparse/Deparse.pm | 4 | ||||
-rw-r--r-- | dist/B-Deparse/t/deparse.t | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/dist/B-Deparse/Deparse.pm b/dist/B-Deparse/Deparse.pm index 27c6773cae..ec5295e1fa 100644 --- a/dist/B-Deparse/Deparse.pm +++ b/dist/B-Deparse/Deparse.pm @@ -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; } } diff --git a/dist/B-Deparse/t/deparse.t b/dist/B-Deparse/t/deparse.t index f050faabfc..6ede9456a1 100644 --- a/dist/B-Deparse/t/deparse.t +++ b/dist/B-Deparse/t/deparse.t @@ -934,6 +934,12 @@ my @x; () = *#; () = "${#}a"; #### +# [perl #86060] $( $| $) in regexps need braces +/${(}/; +/${|}/; +/${)}/; +/${(}${|}${)}/; +#### # ()[...] my(@a) = ()[()]; #### |