Just a suggestion: This module is simply essential. Thanks a lot for your work. It will be nice to have a more OOP oriented Data::Dumper so that if the object being dumped is "opaque" (C, XS, etc.) but has a C<Dumper> method, such method will be called instead. The idea being that anyone developing some sort of external XS class/object will collaboratively define a C<Dumper> method specifying how the object will be dumped. To keep compatibility with the current version of Data::Dumper a variable $Data::Dumper::Delegate or s.t like that can be instroduced.