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.
From cwen@ with OK to import