Clear questions and runnable code
get the best and fastest answer
Re^3: What operator should perl5porters use for safe dereferencing?by BrowserUk (Pope)
|on May 31, 2012 at 09:23 UTC||Need Help??|
If it's mnemonic, what does it remind you of?
I did say: "(hand) wavey dereference".
As for your examples $fred~>$bill looks nothing like $str =~ $re; or when $ref ~~ @things:.
I'm not sure if that last example is valid syntax. I've never user smart matching in real code. I've tried it a few times when I thought it might work for me, but it either didn't do what I thought it would or gave a syntax error. I don't try any more.
And as for $~, it not only looks completely different to ~>, I've never seen it used in code outside of its own documentation; and possibly obfu.
A more poignant example might be something to do with boolean negation: ~$mask, but I tried and couldn't think of a single valid expression that looked vaguely similar.
For me, Tanktalus' argument about the typing is more convincing ...
"touch typists" who find things 'difficult to type' drive me nuts. The only people I've ever seen reach touch tying speeds when typing code, were copy typists.
Programmers on the other hand, type a few symbols; pause; back up and change the variable name; pause; change it again; back up two lines and change the if to a while; then switch screens and look up an API; switch back and undo the last set of changes and start over...
'sides, on my keyboard, it is left-shift '.', left-shift '#'. Easy :) Now if I could change the scalar sigil from $ to £, that would save me having to correct at least one Unrecognized character \xA3 in column 4 at... in just about every piece of new code I type.
For me the strongest argument against it is that it looks so similar to ->. But actually, given its purpose, I even consider that a strength. Most of the time, the subtle difference will be completely transparent semantically and the subtle visual difference reflects that. Ie. It doesn't demand undue attention.
And for those occasions when the difference is important; the code immediately following will have to reflect the fact that an undefined reference may exist.
But in the end, someone, somewhere will make a decision based upon some reasoning, and it will satisify some and not others.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.