Just lately I have come to depend on
Data::Dumper a lot, particularly as I'm developing in a web environment where running a debugger is not practical.
I've come to often quickly add the following into a block of code:
{
use Data::Dumper;
print( Dumper( \%hashvariable ) );
}
I put braces around just out of habit.
Note that I put the backslash in front of the hash reference, for some reason that results in a clearer-to-read output from Dumper than just Dumper( %hashvariable ).
When in a web environment (such as Mason) I use the following to dump my variables:
{
use Data::Dumper;
$m->out( '<pre>' . Dumper( \%hashvariable ) . '</pre>' );
}