go ahead... be a heretic  
PerlMonks 
Comment on 
( #3333=superdoc: print w/ replies, xml )  Need Help?? 
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? In reply to list assignment to list in scalar context by Anonymous Monk

