Argel,
What I think ikegami is trying to point out is this one statement from perldoc:
List values are denoted by separating individual values by commas (and enclosing the list in parentheses where precedence requires it)
The only reason the following code doesn't work:
...is because of operator precedence.perl -MData::Dumper -e '%hash = bob => 90, sue => 12; print Dumper(\% +hash);' $VAR1 = { 'bob' => undef };
If we look at the operator precedence table we see that assignment "=" comes in at 19 whereas fat comma "=>" and comma "," come in at 20. So in other words, the %hash = bob gets evaluated before the bob => 90, sue => 12 part.
Up until several minutes ago, when I tried to figure out what ikegami was getting at, I never realized this either. I just blindly memorized and used the (LIST) idiom without understanding why.
So despite ikegami's seeming inscrutability, I thank him for the new insight.
In reply to Re^20: Why? (each...)
by jffry
in thread Why? (each...)
by locked_user sundialsvc4
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |