Another possibility you may consider is writing a wrapper object that @ISA = qw(Data::Dumper). Should be a fairly simple task of writing sub _dump such that it tests to see of the object class matches yours, and if not, invokes SUPER::_dump. If you're not familiar with OO in Perl, Overridden Methods has a pretty good summary.