develooper Front page | perl.perl5.porters | Postings from September 2016

Why isn't COW used here?

Thread Next
From:
Eric Brine
Date:
September 15, 2016 15:16
Subject:
Why isn't COW used here?
Message ID:
CALJW-qH4KYzgvbBfFKfppmoOzC9da83DPjXeo0fCTo-6XSjR3w@mail.gmail.com
Is there a reason COW isn't used here?

$ perl -MDevel::Peek -e'
   my $x; $x .= "x" for 1..100;
   substr($x, 50, length($x), "") if $ARGV[0];

   Dump($x);
   my $y = $x;
   Dump($x);
   Dump($y);
' 1
SV = PV(0x1886450) at 0x18a30e8
  REFCNT = 1
  FLAGS = (POK,pPOK)
  PV = 0x18a57f0 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\0
  CUR = 50
  LEN = 120
SV = PV(0x1886450) at 0x18a30e8
  REFCNT = 1
  FLAGS = (POK,pPOK)
  PV = 0x18a57f0 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\0
  CUR = 50
  LEN = 120
SV = PV(0x18864f0) at 0x18ae668
  REFCNT = 1
  FLAGS = (POK,pPOK)
  PV = 0x18b5040 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\0
  CUR = 50
  LEN = 52

COW is used if you remove the substr (by changing the script's argument
from 1 to 0).

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About