小编Oli*_* N.的帖子

如何存储数组元素内的哈希?

的背景

我有一个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];和 …

arrays perl hash hashmap

1
推荐指数
1
解决办法
125
查看次数

标签 统计

arrays ×1

hash ×1

hashmap ×1

perl ×1