>>6
Python and Ruby are real programming languages.
>>7
All your reasons except maybe function parameters are stupid and even that is not that annoying.
I'm glad you're not my co-worker, otherwise I'd have to deal with your /(#"%)"?")=(&%()= code.
$@% etc is nice because you can coerce things and you know whether the type is scalar, list etc.
Perl automatically casts "1" into int, then you come and say you want to differentiate completely different things.
References can be confusing especially in scripting languages. It is useful but making and referencing an array of arrays is annoying.
When everything is a reference, as in Python, they are simple.
What exactly is wrong with string comparison?
eq and the other stuff. I wonder why Perl people bash PHP for === .
$_ is super useful because you don't have to have a lot of annoying temporary variables.
Oh, so you save typing 4 characters of code and punish maintenance and risk bugs.
What exactly is the problem with functions except for parameters? All a function is supposed to do is accept variables and return a value.
Parameters suck more than having a nigger rape your ass as he sings rap and steals your bike all at the same time. It's like forced Python's f(*a), with an even worse syntax and no possibility of giving it a reasonable name. After knowing Python and having the flexibility of f(a, b), f(a, *b), f(**a), f(a, b, arg=val), f(*a, **b), and so on, dealing with Perl's functions is like having my balls smashed with a door. Then you have scopes. Same shit as JavaScript, what the fuck.
>>8
Oh, that too.
>>9
Oh, and I had forgotten about file handles! What kind of shit is that!? That's the worst hack ever. Magical non-dollar variables (did we need dollars after all?) that cause all sorts of trouble.
In a good, powerful language, it shouldn't matter if you're making a list of string, int, list, handle, or grandma objects.
Adding the comma operator to Perl's insane syntax is another terrible idea.
Perl lacks a file protocol/convention as Python has and a clean, nice standard library that conforms to it.
>>10
Operator overloading is actually good, as long as you use it properly. For example, it makes sense to concatenate some kind of list with "+", but it doesn't make sense to use "+" to tell a widget to accept an event. It also allows for redefining the standard behaviour of the language and use your objects instead of core objects. It's basically polymorphism, only people is afraid of it. The only difference between a == b and a.equals(b) is that second is gay and assymetric and stupid and fugly. And you should be able to do as much of the core language as possible, and having a language where there are magical core objects with magical operators you cannot do yourself is not nice.