【发布时间】:2019-03-04 15:04:17
【问题描述】:
所以我将数组引用传递给函数以清除某些数组元素:
代码如下:
if($notes->[$x] !~ /[^CF]/)
{
print "$notes->[$x]\n";
splice (@{$notes}), $x, 1;
}
如果我注释掉拼接线,循环可以正常显示数组的每个 $x 元素。但如果我不注释掉拼接注释,一切都会失败。它不会打印出 $x 元素,splice 命令也不会起作用。
在模式匹配 (m//) 中使用未初始化的值 /var/www/cgi-bin/Funx.pm 第 130 行。
使用未初始化的值 /var/www/cgi-bin/Funx.pm 第 132 行的连接 (.) 或字符串。
完全不确定这里发生了什么。我可以理解我的拼接线不是正确的语法。但是为什么它会影响它上面的行我不。
任何见解将不胜感激。
【问题讨论】:
-
试试
splice @$notes, $x, 1。 -
@HåkonHægland 不,仍然无法正常工作,并在其他错误之上添加了一个新错误。 'splice() 在 /var/www/cgi-bin/Funx.pm 第 133 行的数组末尾偏移。'
-
您没有充分证明您的问题。请阅读minimal reproducible example,然后解决您的问题。