P is for Practical | |
PerlMonks |
list assignment to list in scalar contextby Anonymous Monk |
on Nov 09, 2012 at 02:58 UTC ( [id://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
|
|