我有两个等长的数组,其中一个包含键,另一个包含值。如何在perl中创建两个数组的哈希映射(键值对)
如何使它们成为一个散列,我可以通过hash {key}访问它并获取值。
我试图
my %hash = map { $key[$_], $values[$_] } 0..$#key;
,但它有点在一个长长的清单,每一个第二个值是值,你可以从调试器中看到保存的一切。
DB<104> x %hash
0 'linking_parameter_1'
1 '$$SHIBBOLETH'
2 'service_type'
3 'getFullTxt'
4 'crossref_supported'
5 'Yes'
6 'parser'
7 'Bulk::BULK'
8 'internal_name'
9 'ELSEVIER_SD_EBOOK-COMPLETE_COLLECTION_1995-20065'
10 'object_lookup'
11 'yes'
12 'linking_level'
13 'BOOK'
14 'displayer'
15 'FT::NO_FILL_IN'
16 'parse_param'
17 ''
当我键入
x %hash{parser}
无法评估这一点。也许我只是不想以正确的方式访问它?
散列一个参考只是一个列表。如果您希望调试器以键/值形式显示它,则需要给它一个参考。 'x \%hash'。 – simbabque
%hash {parser}应该是$ hash {parser}。 – Shiping
更快,更简单:'my%hash; @hash {@key} = @values;' – ikegami