c:\@Work\Perl\monks>perl -wMstrict -le
"my ($x, $y, $z);
;;
($x, $y, $z) = qw( 1 2 3 );
print qq{$x, $y, $z};
;;
(($x, $y, $z) = qw( 1 2 3 )) = qw( a b c );
print qq{$x, $y, $z};
;;
((($x, $y, $z) = qw( 1 2 3 )) = qw( a b c )) = qw(foo bar baz);
print qq{$x, $y, $z};
"
1, 2, 3
a, b, c
foo, bar, baz
The expression ($x, $y, $z) = ... evaluates to a list of assignable values, i.e., lvalues.
The expression ($x, $y, $z) = RHS evaluates to the list of assignable values, i.e., lvalues, $x, $y, $z.
And likewise with
c:\@Work\Perl\monks>perl -wMstrict -le
"my ($x, $y, $z) = qw( 1 2 3 );
print qq{$x, $y, $z};
;;
(my ($u, $v, $w) = qw( 1 2 3 )) = qw( a b c );
print qq{$u, $v, $w};
;;
((my ($r, $s, $t) = qw( 1 2 3 )) = qw( a b c )) = qw(foo bar baz);
print qq{$r, $s, $t};
"
1, 2, 3
a, b, c
foo, bar, baz
Give a man a fish: <%-{-{-{-<
| [reply] [d/l] [select] |
- context
The surroundings or environment. The context given by the surrounding code determines what kind of data a particular expression is expected to return.
- void context
A form of scalar context in which an expression is not expected to return any value at all and is evaluated for its side effects alone.
- side effects
Something extra that happens when you evaluate an expression. Nowadays it can refer to almost anything. For example, evaluating a simple assignment statement typically has the “side effect” of assigning a value to a variable. ...
| [reply] |