summaryrefslogtreecommitdiff
path: root/doop.c
diff options
context:
space:
mode:
Diffstat (limited to 'doop.c')
-rw-r--r--doop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/doop.c b/doop.c
index 1a5c829a6f..8bd7c0f414 100644
--- a/doop.c
+++ b/doop.c
@@ -633,10 +633,10 @@ Perl_do_trans(pTHX_ SV *sv)
PERL_ARGS_ASSERT_DO_TRANS;
- if (SvREADONLY(sv)) {
+ if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL)) {
if (SvIsCOW(sv))
sv_force_normal_flags(sv, 0);
- if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
+ if (SvREADONLY(sv))
Perl_croak(aTHX_ PL_no_modify);
}
(void)SvPV_const(sv, len);