http://qs321.pair.com?node_id=245652


in reply to Re: Clone - clone Vs Storable - dclone
in thread Clone - clone Vs Storable - dclone

I think that at the heart here we have a core vs non-core issue.

Core modules should be upto date with the latest things that have happened

Core modules that cause seg faults tend to get fixed fast where as when a module such as Clone causes one it is not considered such an issue.

perl -e 'use Clone qw(clone); $a = \$b; undef $a; $c = clone $a;'
and
perl -e 'use Clone qw(clone); $a ={}; undef $a; $c = clone $a;'
Cause Seg faults

but

perl -e 'use Clone qw(clone); undef $a; $c = clone $a;'
and
perl -e 'use Clone qw(clone); $a =""; undef $a; $c = clone $a;'
does not cause this issue.

Core supports Uni-code but it takes time for modules to catch up. It appears that Clone does not support Unicode structures correctly :-

perl -MClone=clone -le '%a=(chr 256 =>1);$c=clone \%a; print ord fore +ach keys %$c' 196
as oposed to
perl -MStorable=dclone -le '%a=(chr 256 =>1);$c=dclone \%a; print ord + foreach keys %$c' 256
Hope this clears up a few things
UnderMine

Replies are listed 'Best First'.
Re: Re2: Clone - clone Vs Storable - dclone
by pg (Canon) on Mar 25, 2003 at 15:32 UTC

    I believe either Clone will become a core module, or something else fullfil the clone functionality will. From an architecture point of view, it does not make sense to mix serialization and deep clone in one class.