summaryrefslogtreecommitdiff
path: root/dump.c
diff options
context:
space:
mode:
authorDavid Caldwell <david@porkrind.org>2009-11-23 17:24:25 -0800
committerDavid Caldwell <david@porkrind.org>2010-05-22 02:28:22 -0700
commit4f4d7508b0c2c114e5f52420e0e87a853c5f642a (patch)
tree008d80915d83e246892b83fa06e46a3b2e21c6bf /dump.c
parentdd9035cd5bdeced1187df399d27d526f3b30194b (diff)
downloadperl-4f4d7508b0c2c114e5f52420e0e87a853c5f642a.tar.gz
Add s///r (non-destructive substitution).
This changes s/// so that it doesn't act destructively on its target. Instead it returns the result of the substitution (or the original string if there was no match). In addition this patch: * Adds a new warning when s///r happens in void context. * Adds a error when you try to use s///r with !~ * Makes it so constant strings can be bound to s///r with =~ * Adds documentation. * Adds some tests. * Updates various debug code so it knows about the /r flag. * Adds some new 'r' words to B::Deparse.
Diffstat (limited to 'dump.c')
-rw-r--r--dump.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/dump.c b/dump.c
index 6bfe5f4015..631f37cbb2 100644
--- a/dump.c
+++ b/dump.c
@@ -645,6 +645,8 @@ S_pm_description(pTHX_ const PMOP *pm)
sv_catpv(desc, ",RETAINT");
if (pmflags & PMf_EVAL)
sv_catpv(desc, ",EVAL");
+ if (pmflags & PMf_NONDESTRUCT)
+ sv_catpv(desc, ",NONDESTRUCT");
return desc;
}