Visitor style traversal of Perl data structureshttp://search.cpan.org/dist/Data-Visitor/
This module is a simple visitor implementation for Perl values.
It has a main dispatcher method, 'visit', which takes a single perl value
and then calls the methods appropriate for that value.
It can recursively map (cloning as necessary) or just traverse most
structures, with support for per object behavior, circular structures,
visiting tied structures, and all ref types (hashes, arrays, scalars, code,
the Data::Visitor manpage is meant to be subclassed, but also ships with a
callback driven subclass, the Data::Visitor::Callback manpage.