how do you do a deep copy? i want to be able to copy everything. | [reply] |
i want to be able to copy everything.
Why? Why not just create a new array reference each time through the loop? Again, I don't think we have a good idea of your true requirement. Please see Short, Self-Contained, Correct Example.
Update: In any event, searching with "deep copy" on MetaCPAN brings up Clone
(update: and Clone::PP),
about which I know nothing.
Give a man a fish: <%-{-{-{-<
| [reply] [d/l] |
There are various modules offering a "clone" routine, even in core.
But the question is tricky because details are important if blessed objects ° are involved or speed matters.
In the end you need to know what you really want.
Update
°) To be more specific how do you clone an arbitrary object "correctly" if the class doesn't provide a clone method?
And what is "correctly" and "good enough" ? :)
Update
For instance an array @bus containing objects of persons sitting in a bus like say $Rolf and $MrSnrub.
After copying the bus, it'll depend on the application if you really want to clone the persons too.
I'd consider creating a clone of person highly unwanted. Especially identity theft of $Rolf. ;)
If I'm the passenger in two different busses, you'd want to update personal information like addresses only once...
| [reply] |
«It doesn't and you can't
I won't and it don't
It hasn't, it isn't, it even ain't
And it shouldn't, it couldn't!"
He told me "no, no, no!"
I told him "yes, yes, yes!"
I said: "I do it all the time
Ain't this boogie a mess"»
(FZ)
«The Crux of the Biscuit is the Apostrophe»
| [reply] |
use MyClass;
use Storable qw(dclone);
my $object = MyClass->new();
my $clone = dclone($object);
# NB.: Untested
But I doubt that you really want this.
«The Crux of the Biscuit is the Apostrophe»
| [reply] [d/l] |