Why would the assignment of a list in scalar context
There's no list assignment in scalar context in your code. The assignment ("=") in each snippets is a list assignment evaluated in void context. "=>" is not an assignment, it's a fancy version of ",".
You forced the list/comma operator to be evaluated in scalar context, and the list/comma operator in scalar context returns its last element. (Speaking loosely, see perlop for details.)
In line 1 below, the parens around $a1 force a scalar context.
It's the opposite. They force the selection of the list assignment operator, which in turn applies a *list* context to both its LHS and RHS operands. See Mini-Tutorial: Scalar vs List Assignment Operator.
In reply to Re: Newbie question - imposing context
by ikegami
in thread Newbie question - imposing context
by erictully
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |