diff --git a/op.c b/op.c index 56a73ac1febe..e96a5853d6d1 100644 --- a/op.c +++ b/op.c @@ -5571,7 +5571,7 @@ Perl_op_convert_list(pTHX_ I32 type, I32 flags, OP *o) flags |= OPf_SPECIAL; } if (type == OP_STRINGIFY && OP_TYPE_IS(o, OP_CONST) && - !(flags & OPf_FOLDED) ) { + !(flags & OPf_FOLDED) && SvIsCOW(cSVOPx_sv(o)) ){ assert(!OpSIBLING(o)); /* Don't wrap a single CONST in a list, process that list, * then constant fold the list back to the starting OP.