- if (!body) {
- body = newSV(0);
- (void) SvUPGRADE(body, SVt_PV);
- }
- SvPVX(body) = artBody;
- SvCUR_set(body, artLen);
- SvLEN_set(body, 0);
- SvPOK_on(body);
- (void) SvREADONLY_on(body);
- (void) SvREFCNT_inc(body);
- hv_store(hdr, "__BODY__", 8, body, 0);
+#if (PERL_REVISION == 5) && ((PERL_VERSION < 7) || ((PERL_VERSION == 7) && (PERL_SUBVERSION < 1)))
+ hv_store(hdr, "__BODY__", 8, newSVpv(artBody, artLen), 0);
+#else
+ hv_store(hdr, "__BODY__", 8, newSVpvn_share(artBody, artLen, 42), 0);
+#endif /* Perl < 5.7.1 */