5.13.4+
5.14.0+
####
perl -E"$x=x; $x x= 100e6; <>; $r = \substr $x, 50e6; <>; ord $$r; <>"
AP 5.12.4 32-bit 99M 148M 148M
AP 5.14.0 32-bit 99M 99M 148M
AP 5.14.2 32-bit 99M 99M 148M
####
>\progs\perl5142-ap1402\bin\perl -MDevel::Peek -E"$x=chr(0); $x x= 100; Dump substr $x, 50;"
SV = PVLV(0x4de51c) at 0x497b04
REFCNT = 1
FLAGS = (TEMP,GMG,SMG)
IV = 0
NV = 0
PV = 0 <----- No buffer
MAGIC = 0x4cc694
MG_VIRTUAL = &PL_vtbl_substr
MG_TYPE = PERL_MAGIC_substr(x)
TYPE = x
TARGOFF = 50
TARGLEN = 50
TARG = 0x4a932c
SV = PV(0x25603c) at 0x4a932c
REFCNT = 2
FLAGS = (POK,pPOK)
PV = 0x4b36cc "\0\0\0...\0\0\0"\0
CUR = 100
LEN = 104
####
>\progs\perl5124-ap1205\bin\perl -MDevel::Peek -E"$x=chr(0); $x x= 100; Dump substr $x, 50;"
SV = PVLV(0x319e4c) at 0x3bf54
REFCNT = 1
FLAGS = (PADMY,GMG,SMG,pPOK)
IV = 0
NV = 0
PV = 0x2f42dc "\0\0\0...\0\0\0"\0 <-----
CUR = 50
LEN = 52
MAGIC = 0x327f94
MG_VIRTUAL = &PL_vtbl_substr
MG_TYPE = PERL_MAGIC_substr(x)
TYPE = x
TARGOFF = 50
TARGLEN = 50
TARG = 0x2f875c
SV = PV(0x36034) at 0x2f875c
REFCNT = 2
FLAGS = (POK,pPOK)
PV = 0x330f6c "\0\0\0...\0\0\0"\0
CUR = 100
LEN = 104