use Devel::Peek qw( Dump ); my $s = "abcdef"; $s .= "g"; # Trigger COW Dump( $s ); substr( $s, 0, 1, "" ); Dump( $s ); #### SV = PV(0x59d752a54ee0) at 0x59d752a830d0 REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x59d752a6b2e0 "abcdefg"\0 CUR = 7 LEN = 16 SV = PV(0x59d752a54ee0) at 0x59d752a830d0 REFCNT = 1 FLAGS = (POK,OOK,pPOK) OFFSET = 1 PV = 0x59d752a6b2e1 ( "\x01" . ) "bcdefg"\0 CUR = 6 LEN = 15