I enjoyed perusing brian d foy's article, "Guide to Solving any Perl Problem" on Perl Monks. I already implement many of his recommendations, but the "use diagnostics" clause was new to me.

If you do not understand a warning, you can look up a verbose version of the warning in perldiag or you can use the diagnostics pragma in your code.

use diagnostics;

Another funny section of his post includes explaining your problem out loud.

Explain your problem aloud. Actually say the words.

For a couple of years I had the pleasure of working with a really good programmer who could solve almost anything. When I got really stuck I would walk over to his desk and start to explain my problem. Usually I did not made it past the third sentence without saying ``Never mind---I got it''. He almost never missed either.

Since you will probably need to do this so much, I recommend some sort of plush toy to act as your Perl therapist so you do not annoy your colleagues. I have a small bear that sits on my desk and I explain problems to him. My wife does not even pay attention when I talk to myself anymore.

This has happened to me so many times. I call up a IT buddy and while I'm explaining my problem, ding,the answer hits me like a ton of bricks.