I haven't done deep copying either, but I've read about it. Merlyn has a good column at Deep Copy and Recursion, which has a simple deep copy routine that should work for most situations, and suggests using Storable::dclone for particularly hairy deep copying.