Perl: I tend to avoid perl for "shell script replacements". If i'm using it, it better be done right, or in a week i'm too scared to maintain what I did.
Perl tools:
Data::Dumper - with $Data::Dumper::Maxdepth usually set to 2 or 3
Devel::Cover - I use it not only for testing coverage, but also for analyzing code paths, to simplify control flow