【发布时间】:2011-04-04 20:46:29
【问题描述】:
我有一个哈希值,如下所示:
%hash = ( a => { b => 1, c =>2, d => 3}, a1 => { b => 11, c =>12, d => 13}, a2 => { b => 21, c =>22, d => 23} )我想提取“b”元素并将其放入一个数组中。现在,我正在循环遍历哈希来做到这一点,但我认为我可以通过使用 map 来稍微提高效率。我很确定如果这是一个哈希数组,我会使用这样的东西:
@hasharray = ( { b => 1, c =>2, d => 3}, { b => 11, c =>12, d => 13}, { b => 21, c =>22, d => 23} ) @array = map { ($_->{b} => $_) } @hasharray如果我错了,请原谅我,我还在学习地图的工作原理。但我想知道的是我将如何映射散列的散列?这甚至可以使用地图吗?我还没有找到任何这样做的例子。
更好的是,此代码中的下一步是在数组填充后对其进行排序。我很确定这是可能的,但我不够聪明地使用地图自己弄清楚。我将如何一口气完成这一切?
谢谢。 赛斯
【问题讨论】:
标签: perl sorting map hash-of-hashes