For some reason, about three times in the last week I've mentioned Perl, not even in advocacy, and been jumped on, patronised, sneered at and otherwise dissed for using Perl (specifically for websites, but in general too).

Now, I'm very much an amateur programmer, I know nothing of the wider world of languages, Perl has always been a good language for me (despite the fact I started with the awful "For Dummies" instead of something from O'Reilly).

Now I only jokingly say I want your sympathy, I think I can take that as read, but perhaps you could explain to me what these Perl-haters are even talking about.

One person said that Perl wasn't suitable for "large website projects" and I should have used PHP instead. Now I know that PHP has got major issues when it comes to things like namespaces, let's not bother with that one, but the main things I don't get are:

People saying that Perl is a "write-only" language, and other constructions which add up to the idea that Perl created by Programmer A is not just sometimes, but always hard for Programmer B to pick up; as if, simply because TIMTOWTDI, each Perl programmer sits down and deliberately obfuscates his or her code, or even that, just by the law of averages, the enormous number of Different Ways To Do Things means that by probablity alone, the chances are that I learned one, and you learned another. Is it simply not possible, by design, to write obfuscated Java or C? One person said Perl was "eccentric" simply because it has "unless" as well as "if".

People saying that Perl doesn't have proper Data Structures. This seems to mean something quite different to people who know C, and seems to be all about speed: C has different kinds of arrays called lists and arrays, which are good for different things, plus what we call hashes as well? One guy said derisively that "to a Perl programmer, every data structure is a hash" which even a dummy like me knows is wrong. But maybe "hash" meant something different to him?

I'd appreciate, not even Monks supplying me with the counter-arguments, but just explaining what the mind-set is of these people who seem not just to dislike Perl but to actively hate it.

Where did they learn programming, and who taught it to them, that they so disdain Perl in all its richness and variety? What are the key elements of what they consider to be a "good" language or program that Perl can't give them? Blinding speed? Tight, highly-predictable RAM usage? Compiling code into binaries so that nobody can read their source? Absolutely everything being object-oriented, so that you have to instantiate a world object with a hello() method before you can so much as "print 'hello world'"?