Clone
view release on metacpan or search on metacpan
PROTOTYPES: ENABLE
void
clone(self, depth=-1)
SV *self
int depth
PREINIT:
SV *clone = &PL_sv_undef;
HV *hseen = newHV();
AV *weakrefs = newAV();
PPCODE:
TRACEME(("ref = 0x%x\n", self));
clone = sv_clone(self, hseen, depth, 0, weakrefs);
/* Now apply deferred weakening (GH #15).
* All strong references in the clone graph are established,
* so it is safe to weaken references without destroying referents. */
{
I32 i;
I32 len = av_len(weakrefs);
for (i = 0; i <= len; i++) {
SV **svp = av_fetch(weakrefs, i, 0);
( run in 0.640 second using v1.01-cache-2.11-cpan-71847e10f99 )