>>5
All your reasons except maybe function parameters are stupid and even that is not that annoying.
Automagic is very practical because it does stuff without having to specify too much what you want to do.
$@% etc is nice because you can coerce things and you know whether the type is scalar, list etc. References can be confusing especially in scripting languages. It is useful but making and referencing an array of arrays is annoying.
What exactly is wrong with string comparison?
$_ is super useful because you don't have to have a lot of annoying temporary variables.
What exactly is the problem with functions except for parameters? All a function is supposed to do is accept variables and return a value.