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: <%-{-{-{-<