Well, there are at least three different languages called "Perl" out there:
- A fairly robust application development language, with some clunky OO syntax, excessively verbose and unsafe custom data structure access ($o->{games}{$GAME}{$player}{health}), and a few too many special cases.
- A very robust scripting language for utility programs, with somewhat more tendency than shell scripting to backslide into monstrous hairballs of unmaintainable code (probably as a result of the vastly greater functionality in the same amount of code)
- A line item on a resume, used by many contractors to qualify for a job. This is the language where you can poke repeatedly at a large script that you know practically nothing about. Just keep rerunning it until it more or less gains whatever functionality was requested, and doesn't seem to gain any serious problems -- at least, none that will be noticeable before you leave.
If you use all three of those languages, then you'll come to realize that Perl fully deserves just about everything people say about it. Even the mutually contradictory things.
Oh, and if you feel that you're above using #3, try setting up a tinderbox. (Or insert some other hairball. There seem to be a number of them -- they provide amazingly useful functionality, but are a severe test of your gag reflex. You may be sorely tempted to rewrite them, but it won't be worth it.)
Personally, I use all three constantly.