There's also
Data::Dumper::Simple, which is pretty nifty. It tends to add a lot of wall-clock seconds to your program's execution though, so I recommend using it for debugging then removing it for production.
---
It's all fine and dandy until someone has to look at the code.