我的配置是Debian Stretch
我用命令验证我的Perl代码
[dataKey]="uniqueId"
我在此行的代码中有一个错误:
line perl -wcT admin.cgi
错误是:
不能使用数组作为引用
我也尝试过 this web editor
似乎错误是:
print &select("$id-2",\@values,\@values,@{$FORMAT{$name}}->[1]),"<br /> \n";
答案 0 :(得分:2)
正如您所说,问题出在这里:
@{$FORMAT{$name}}->[1]
似乎$FORMAT{$name}
包含数组引用。您想从引用的数组中获取第二个元素。至少有两种方法可以做到这一点。
您可以取消引用数组引用以获取数组,然后使用标准的数组索引括号:
@{$FORMAT{$name}}[1]
或者您可以将deferencing箭头与数组索引括号一起使用:
$FORMAT{$name}->[1]
您不能(如所发现的)同时使用两种语法:-)
更新:正如Borodin在评论中指出的那样,我的第一个解决方案不正确。从数组访问单个元素时,应将@
更改为$
。所以实际上应该是:
${$FORMAT{$name}}[1]
在第二个解决方案中,箭头实际上是可选的(在两组括号之间总是引用箭头),因此您可以编写:
$FORMAT{$name}[1]
答案 1 :(得分:0)
我的名为webadmin.cgi的cgi现在在ActivePerl上,而Xampp在我的PC Windows 7上。
此代码在本地测试中可以正常运行(完美运行):
print &select("$id-2",\@values,\@values,@{$FORMAT{$name}}->[1]),"<br /> \n";
最后如果在OS debian Stretch(我的专用服务器)上安装了相同的文件:
如果我以相同的语法错误进行测试,则无法正常工作(错误500)
如果我将其替换为两次解决方案,则程序会运行但会弹出我。
感谢您的耐心等候,
是否