|
|
| laziness, impatience, and hubris | |
| PerlMonks |
list assignment to list in scalar contextby Anonymous Monk |
| on Nov 09, 2012 at 02:58 UTC ( #1003051=perlquestion: print w/ replies, xml ) | Need Help?? |
|
Anonymous Monk has asked for the
wisdom of the Perl Monks concerning the following question:
Hi Monks, Why does a list assignment to a list in scalar context return the number of elements on the right side list, but NOT the last element of the left side list that has been assigned values? I know that:
and that:
Now check a scalar assignment to a scalar in scalar context: if( $i = 0 ) which will evaluate to the value of $i on the left side, thus evaluate to 0, thus evaluate to FALSE but consider an example of list assignment above: To me, it seems like it should evaluate to the value of list ($k, $v) on the left side just like $i above, thus should evaluate to the last element of list ($k, $v) --- $v, thus evaluate to 0 and at last should evaluate to --- FALSE, although I know the correct answer is it will evaluate to true. So, the question is: for what purpose are the designing principles of scalar assignment and list assignment both in scalar context completely different? Just for convenience of usage? Isn't that a bit confusing?
Back to
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||||||