in reply to Re^19: Why? (each...)
in thread Why? (each...)
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^21: Why? (each...)
by Argel (Prior) on May 17, 2011 at 22:49 UTC | |
by ikegami (Patriarch) on May 17, 2011 at 23:30 UTC | |
by jffry (Hermit) on May 18, 2011 at 19:28 UTC | |
by ikegami (Patriarch) on May 18, 2011 at 20:53 UTC | |
by jffry (Hermit) on May 19, 2011 at 15:02 UTC | |
by Argel (Prior) on May 19, 2011 at 15:13 UTC | |
by ikegami (Patriarch) on May 19, 2011 at 15:46 UTC | |
by Argel (Prior) on May 19, 2011 at 19:27 UTC | |
|