summaryrefslogtreecommitdiff
path: root/dist/B-Deparse
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-12-24 19:21:17 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-12-24 19:21:37 -0800
commit337d738129edc390df76d850cee24692bd9bac32 (patch)
tree191479eecc8995f80590fc7cc6f496ba2931bc41 /dist/B-Deparse
parent3489ea76f97f75100506d83215eff51d1e52d147 (diff)
downloadperl-337d738129edc390df76d850cee24692bd9bac32.tar.gz
[perl #86060] $( $| $) need braces in regexps
Diffstat (limited to 'dist/B-Deparse')
-rw-r--r--dist/B-Deparse/Deparse.pm4
-rw-r--r--dist/B-Deparse/t/deparse.t6
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) = ()[()];
####