我有一个三维数组.我想设置它的三个元素:
$array[$x][$y][0 .. 2] = (0,1,2);
但是perl告诉我:
Useless use of a constant (1) in void context
在数组上下文中:
@array[$x][$y][0 .. 2] = (0,2);
但是perl告诉我:
Syntax error near “][“
可能意味着它希望我给它两个索引然后分配给第三个维度作为一个单独的数组?但是,在this page上,在示例:使用数组切片分配下,它建议可以使用范围运算符分配给切片,其中它表示:
@array1[1..3] = @array2[23..25];
如何分配这样的数组切片,还是必须单独分配每个索引?
解决方法
你需要取消引用内部数组:
@{ $arr[$x][$y] }[ 0 .. 2 ] = (0,2);