我有一个Perl模块,它使用一个数组作为输入/输出参数,如下所示:
Execute({inputfile => $req->{modules}.'filename', param => \@xchange});
Run Code Online (Sandbox Code Playgroud)
在模块内部构建哈希并通过引用返回
$param[0] = \%values;
Run Code Online (Sandbox Code Playgroud)
这一切都很好(我认为)print Dumper @xchange[0];并将输出我想要的内容
$VAR1 = { '33' => 'Title1', '53' => 'Title2', '21' => 'Title3' };
Run Code Online (Sandbox Code Playgroud)
我想循环遍历内容并逐个打印键/值对,例如像这样
%testhash = ('33' => 'Test1', '53' => 'Test2', '21' => 'Test3' );
foreach $key (keys %testhash) {
print "LOOP: $key, value=$testhash{$key}\n";
}
Run Code Online (Sandbox Code Playgroud)
这个循环按预期工作,并通过print Dumper \%testhash;与上面数组元素相同的输出转储我的testhash
$VAR1 = { '33' => 'Test1', '53' => 'Test2', '21' => 'Test3' };
Run Code Online (Sandbox Code Playgroud)
现在的麻烦似乎是,尽管两种结构看起来都是同一种,但我无法理解,如何正确访问存储在@xchange [0]中的返回哈希.
我曾尝试%realhash = @xchange[0];和 …