我有一个哈希值,如下所示:
%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
如果我错了,请原谅我,我还在学习地图的工作原理。但我想知道的是我将如何映射散列的散列?这甚至可以使用地图吗?我还没有找到任何这样做的例子。
更好的是,此代码中的下一步是在填充数组后对其进行排序。我很确定这是可能的,但我不够聪明地使用地图自己弄清楚。我将如何一口气完成这一切?
谢谢。赛斯