Data::Clone does data cloning, i.e. copies things recursively. This is smart so
that it works with not only non-blessed references, but also with blessed
references (i.e. objects). When clone() finds an object, it calls a clone method
of the object if the object has a clone, otherwise it makes a surface copy of
the object. That is, this module does polymorphic data cloning.
Although there are several modules on CPAN which can clone data, this module has
a different cloning policy from almost all of them. See "Cloning policy" and
"Comparison to other cloning modules" [1] for details.
[1] http://search.cpan.org/dist/Data-Clone/lib/Data/Clone.pm
WWW: http://search.cpan.org/dist/Data-Clone/