in reply to Re^3: Scalar Vs. List context
in thread Scalar Vs. List context

Not so. You're considering different definitions of "list" as equivalent.

A list value can't be evaluated in scalar context. Or any context. They aren't operators, so they can't be evaluated. They exist on the stack.

The list operator, on the other hand, can be evaluated in any context. Just like every other operator (as far as I know).

>perl -MO=Concise -e"@a = (1,2,3,4);" ... - <1> ex-list lKP ->8 <-- "l" for list context ...
>perl -MO=Concise -e"$a = (1,2,3,4);" ... 5 <@> list sKP ->6 <-- "s" for scalar context ...
>perl -MO=Concise -e"(1,2,3,4); 1" ... 4 <@> list vKP ->5 <-- "v" for void context ...

A less ambiguous wording of the statement you made is: An operator can't evaluate to (return) a list in scalar context.

A list operator can be evaluated in scalar context, but it must evaluate to a scalar in scalar context