Perl - 如何在循环内的哈希中添加行?



我正在尝试从 json 响应中创建一个简单的数组 KEY => VALUE,这是我转储数组时的结果,但键不是我所经历的:

$VAR1 = 'expectedvalue1';
$VAR2 = 'expectedvalue2';
$VAR3 = 'expectedvalue3';

这是我的代码,我在这里找到了它的一部分(一些评论说缺少反斜杠(

my %result = ();
foreach my $row (@json_response){
$result{ $row->{"json_key"} } = $row->{"json_value"};
}
print Dumper(%result);

当我试图得到

expectedkey1 = expectedvalue1
expectedkey2 = expectedvalue2
expectedkey3 = expectedvalue3

编辑:我在密钥名称中犯了一个错误。

您是否正在尝试获取键=>值和键/值具有相同的值?

如果你正在寻找它,也许这可以帮助你

#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my @array_items = qw(expectedvalue1 expectedvalue2 expectedvalue3);
my %hash_example;
foreach my $value (@array_items) {
push(@{$hash_example{$value}}, $value);
}
print Dumper(%hash_example);

输出:

$VAR1 = {
'expectedvalue2' => [
'expectedvalue2'
],
'expectedvalue1' => [
'expectedvalue1'
],
'expectedvalue3' => [
'expectedvalue3'
]
};

最新更新