new()的单个参数必须是HASH ref数据

时间:2013-04-19 13:23:02

标签: perl

我有一个perl脚本,它适用于perl版本5.8.8,但5.14有错误:匿名哈希中的元素奇数

这是我的代码:

$session->begin_privileged({ $_enable_password })

以前是这样的:

$session->begin_privileged( $_enable_password )

此时我收到此错误:

Single parameters to new() must be a HASH ref data

我有类似的类型行,如上所述,每个都有相同的单参数错误。

我用谷歌搜索但无法找到常规解决方案。

1 个答案:

答案 0 :(得分:6)

如果$sessionNet::Appliance::Session的实例,那么您的通话应如下所示:

$session->begin_privileged({ password => $_enable_password });

但我仍然不确定$_enable_password首先不是哈希引用,在这种情况下,你应该将它作为单个参数传递而不用括号括起来。更有可能的解释是,$_enable_password没有正确设置,而Perl v14已经停止了它的工作。