If you see Larry Wall walking down the road, kill him.
If Perl was a religion (see http://perlmonks.org), Larry Wall, it's inventor, is God.
Great language, Larry, really. But the philosophy that Larry Wall promotes is the definition of bad software design. It's not just that "there's more than one way to do it"; it's that it's cool to write something so other people can't read your code. Bad code is bad enough. When programmers are proud of their bad code, that's the sign of a culture with some messed up values.
The result: in my research of Perl/CGI applications on http://cgi-resources.com,
I downloaded a couple dozen different applications, some of them with very impressive functionality. I then looked at the underlying code. I'm no genius, and maybe I'm a little anal, but 80% of the Perl code out there is unreadable, un-maintainable, barely functional spagetti code that would make anyone with a degree in computer science either laugh or cry (depending if they had to actually do something with the code).
Okay, the Perl culture is also the result of the rapid growth of the web and the use of Perl for CGI applications. Many people wrote Perl programs as their first computer language. And it's really powerful; but after about 100 lines, the coding style and lack of code management begins sinking programs into a bowl of spagetti.
Perl 5 has (almost) all the features you need to create well-organized, structured, object oriented code. Good code. I learned Perl OO syntax before I learned Java, and so in the process of learning Java I'd often say, 'Oh, it's just like Perl!'. But Perl has earned it's bad repuation, and it's just like that girl in high school; a bad repuation is hard to shake.
Larry Wall is the orchestra conductor who steps up to the podium, taps his baton, then says, "Play anything you want". The noise that you then hear is called Perl.