I was somewhat wondering who might actually have suggested this, probably not anyone who has made a serious use of Perl.
When I first used Perl, I found the $%@ symbols confusing as all heck, and wished it was more like PHP.
Now that I've used a lot of Perl, I wish PHP would make more use of the $%@ symbols for clarity sakes. Actually, it would be a lot nicer in many languages to use symbol-defined clarifiers, I certainly get tired of "Dim Somevar as sometype" and "sometype somevar" when somebody makes an extremely ambiguous name which doesn't differentiate an array from a scalar or reference variable.
Ignorant people keep educated people employed! - phorm
Some of us would say that you should choose variable names to mean what they say, so it's reasonably obvious what the type is. Plural in particular is a big help, and hash/list distinctions can often be made obvious. In dynamic languages, this is usually sufficient.
But while I believe in that, what I *really* want to see in perl is the sigil labelling the named object, not the final value of the expression, i.e., %hashvar{THING_IN_HASH} instead of $hashvar{THING_IN_HASH}. Fortunately, Perl 6 is supposed to do it this way.
Removing the % $ and @ (Score:4, Interesting)
When I first used Perl, I found the $%@ symbols confusing as all heck, and wished it was more like PHP.
Now that I've used a lot of Perl, I wish PHP would make more use of the $%@ symbols for clarity sakes. Actually, it would be a lot nicer in many languages to use symbol-defined clarifiers, I certainly get tired of "Dim Somevar as sometype" and "sometype somevar" when somebody makes an extremely ambiguous name which doesn't differentiate an array from a scalar or reference variable.
Ignorant people keep educated people employed! - phorm
Re:Removing the % $ and @ (Score:2)
But while I believe in that, what I *really* want to see in perl is the sigil labelling the named object, not the final value of the expression, i.e., %hashvar{THING_IN_HASH} instead of $hashvar{THING_IN_HASH}. Fortunately, Perl 6 is supposed to do it this way.