summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 6f0fd7c7e8..ba8180582a 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1785,6 +1785,8 @@ PP(pp_subst)
TARG = DEFSV;
EXTEND(SP,1);
}
+ if (SvFAKE(TARG) && SvREADONLY(TARG))
+ sv_force_normal(TARG);
if (SvREADONLY(TARG)
|| (SvTYPE(TARG) > SVt_PVLV
&& !(SvTYPE(TARG) == SVt_PVGV && SvFAKE(TARG))))