我想,结果应该是1,2,3.
> my ($a,$b,$c)
> (($a,$b),$c) = ((1,2),3)
(((1 2) 3) (Any))
> $a,$c
((1 2) 3 (Any))
这有什么不对?
没有什么不对(也就是说,P6中的普通任务是按照它做的那样设计的),但是猜测你希望在两侧使结构相同会导致$a得到1,$b得到2和$c得3分.
为此,你想要“绑定赋值”(又名“绑定”),而不是普通的赋值:
my ($a,$c);
:(($a,$c) := ((1,3);
请注意左侧列表前的冒号,使其成为签名文字,并在=之前的冒号,使其成为绑定操作.