in reply to
meaning of =()=
=()= is not an operator.
$scalar =()= EXPR
is a funky way of writing
$scalar = ( () = EXPR )
It consists of two operations: a list assignment (() = EXPR) as the RHS of a scalar assignment ($scalar = ...). Both types of assignments are documented in perlop, but the bits that apply are:
- The RHS of a list assignment is evaluated in list context.
- The RHS of a scalar assignment is evaluated in scalar context.
- A list assignment in scalar context returns the number of elements returned by its RHS.
In short, it's a means of evaluating an expression in list context and returning the number of elements returned instead of the elements themselves.
See Mini-Tutorial: Scalar vs List Assignment Operator