不是 Perl 中的 HASH 引用
Not a HASH reference in Perl
我正在尝试修复一些不再适用于 Perl 新版本的旧代码。不幸的是,我还没有用 Perl 编写代码。
此行当前导致问题。我有一个编译错误。
my @IDs = values($Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'});
Experimental values on scalar is now forbidden at
./CMDBcertificateCheck.pl line 266. Type of arg 1 to values must be
hash or array (not hash element) at ./CMDBcertificateCheck.pl line
266, near "})"
我试图通过取消引用 $Body 来修复它,但现在不接受初始化我的数组 @IDs。
my @IDs = values(%{$Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'}});
Not a HASH reference
这里是 $Body 的内容,如果我转储的话。
print Dumper($Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'});
$VAR1 = [
'646',
'650',
'2178',
'2179'
];
你能帮我把$Body
变量的内容放到数组里吗?
您可以使用 @{}
取消引用数组。我认为没有必要在这里使用 values:
my @IDs = @{ $Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'} };
我正在尝试修复一些不再适用于 Perl 新版本的旧代码。不幸的是,我还没有用 Perl 编写代码。
此行当前导致问题。我有一个编译错误。
my @IDs = values($Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'});
Experimental values on scalar is now forbidden at ./CMDBcertificateCheck.pl line 266. Type of arg 1 to values must be hash or array (not hash element) at ./CMDBcertificateCheck.pl line 266, near "})"
我试图通过取消引用 $Body 来修复它,但现在不接受初始化我的数组 @IDs。
my @IDs = values(%{$Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'}});
Not a HASH reference
这里是 $Body 的内容,如果我转储的话。
print Dumper($Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'});
$VAR1 = [ '646', '650', '2178', '2179' ];
你能帮我把$Body
变量的内容放到数组里吗?
您可以使用 @{}
取消引用数组。我认为没有必要在这里使用 values:
my @IDs = @{ $Body->{'ConfigItemSearchResponse'}->{'ConfigItemIDs'} };