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" for details. WWW: https://metacpan.org/release/Data-Clone