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

Fat*_*ana 1 perl

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

这是我的代码:

$session->begin_privileged({ $_enable_password })
Run Code Online (Sandbox Code Playgroud)

以前它是这样的:

$session->begin_privileged( $_enable_password )
Run Code Online (Sandbox Code Playgroud)

而此时我收到此错误:

Single parameters to new() must be a HASH ref data
Run Code Online (Sandbox Code Playgroud)

我有类似上面的类型行,我得到相同的单个参数错误.

我用Google搜索,但找不到常规解决方案.

Bor*_*din 6

如果$session是实例,Net::Appliance::Session那么您的调用应如下所示:

$session->begin_privileged({ password => $_enable_password });
Run Code Online (Sandbox Code Playgroud)

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