Maybe you mean the context of the assignment?
All three of your assignments are evaluated in void context, so I think you mean "the context imposed by the assignment" onto its operands.
assignment forces the context of the LHS onto the RHS.
So what determines the context of the LHS?
The context in which both operands of an assignment are evaluated is determined by the type of assignment (scalar assignment or list assignment). Both types of assignments are represented by "=" in the code, so the type of assignment is determined by the literal code on the LHS.
Expressions in parens, arrays, hashes, local() and my() cause the creation of a list assignment. Everything else causes the creation of a scalar assignment.