Working in an environment where I need to support programs written in COBOL, C, C++, PL/SQL, Perl, and Java, I've found it very hard to have a favorite (although it wouldn't be COBOL). Working with PHP, Python, and Scheme outside of work makes it even harder.
in reply to Favorite Weapons
For those who seek to follow only a single path, be it Perl or anything else, I wish you well. I tried to follow the PL/SQL path for a long time. I even had a few nuggets to share with the masters there. The problem, I found, is that it takes a (pardon the pun) monastic devotion to follow a single path, assuming you'd like to hold down a job, or ever get a new one. If not, then your as expendable as the next guy if the technologies change. Look at all the COBOL programmers that lost jobs after Y2K. It wasn't because there isn't a need for programmers. Its just that many of these single weapon warriors had little to distinguish the from the other COBOL programmers out there.
So my advice to the single sword programmers out there is to become a master in your language of choice. You need to be on top of the leading (preferably bleeding) edge in that language. Then, you need to teach others. Nothing teaches like teaching. Give a talk at a user group. Sign up for a Lightning Talk at YAPC. Hold a "Brown Bag" with people you work with. You will learn a lot more than you did know from the preparation. You'll learn the most, however, from the questions you're asked.