dragonchild has asked for the wisdom of the Perl Monks concerning the following question:

Before I go re-invent the wheel, does anyone know of a module/snippet that will take a scalar (reference or not) and return a copy of it? This doesn't sound so hard, but I want to copy anything within it, so a hash of lists of hashes, when copied, should make a copy of the hash. That new hashref should point to listrefs that are different than the original's. And, those listrefs should point to hashrefs that have been copied, as well.