> That bug is legit (although it was caused by an inexperienced developer who didn't read the manual).
Well that's exactly the problem, as I said before, the fact that this is documented doesn't make it not horrible. At least to me, as a non perl person.
> He is like an english person complaining about the fact that pronouns are gendered in german.
Valid complaint in my opinion. And that's my mother tongue.
You're making the same mistake he did. You don't actually know the thing you're talking about (Perl), yet you feel the need to, as first action, make factual statements about it, instead of your first action being to ask WHY i don't think it's horrible.
Also, regarding the gendered pronouns: They perform a very valid function in german, which i can understand you may not be consciously aware of: They serve the disambiguation of similarly sounding words (die Schüssel, der Schlüssel), similarly to Perl sigils.
Back to the issue of whether the bug is horrible. Any Perl developer learns these simple facts very early on:
- a function can return 0 to many values, depending on what kind of list of arguments you call return() with
- the contents of a list depend on the sigils in front of the arguments used in the list constructor
- if the sigil is $, then the list will have at the place of that argument exactly one value
- if the sigil is @, then list will contain zero to many values at the place of that argument
- if the sigil is none, then it's a function call, and the list will, following the first factoid, contain zero to many values at the place of the function call
- you must do two things with functions when calling them in a list constructor:
- 1. manually force them into scalar context in list construction by wrapping the call in scalar()
- 2. read the documentation of the function to see if the function makes any promises of its output
In the case of the bug you have an assignment to a hash, by way of a list constructor. That list constructor calls the cgi function params(). That function is documented to be able to return multiple values.
The programmer in this case didn't take care to read the documentation of the function, and this is not remotely the same thing as having a documented bug.
To the average Perl developer all this information is known and simple.
> That bug is legit (although it was caused by an inexperienced developer who didn't read the manual).
Well that's exactly the problem, as I said before, the fact that this is documented doesn't make it not horrible. At least to me, as a non perl person.
> He is like an english person complaining about the fact that pronouns are gendered in german.
Valid complaint in my opinion. And that's my mother tongue.