In comp.lang.perl.misc it was asked (message-ID: <email@example.com>)
I've tried various cloning modules to clone a structure containing weak
I've tried it using the Clone module and Clone::PP. Clone::PP does the
same as Storable. Clone gives a segmentation fault.
I'm using Perl 5.8.0 on Linux 2.4.20-8
use Storable 'dclone';
use Scalar::Util qw(weaken isweak);
my $x = 99;
my $y = [ \$x ] ;
$z = dclone $y;
print "y: ", isweak $y->;
print "z: ", isweak $z->;
my reply is
After a little bit of thought I'd say that's normal, to be expected
You're not cloning the weakend reference, but the the data it references,
the reference in z, poiting to the clone of $x, is a completly new one,
the data is cloned, not the reference.
I may misunderstand the behaviour though...hmmm
Now I'm curious: Am I right? And if I'm right: Is it possible to clone references (Update preserving their "weakend-state")?
An intellectual is someone whose mind watches itself.
-- Albert Camus
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.