If your project got objects that use the following methods names: to_string(), as_string(), stringify(), … Data::Printer might not behave as expected… It will dump the “stringified” object (as defined in your own code, possibly $self->name or something slightly more complicated). It’s possible to disable that feature on p() call: p $fancy_object, class => { stringify => 0 }; But honestly, that’s too much typing verbosity. I prefer, to have a ~/.