在perl中反转多值哈希

前端之家收集整理的这篇文章主要介绍了在perl中反转多值哈希前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个看起来像这样的哈希:

{ bmw      => { id => 1,color => brown } }
{ mercedes => { id => 2,color => black } }

我想在perl中反转这个哈希,以便我得到id =>的映射. name_of_car.我是否需要以某种方式使用反向功能

注意:我总是可以遍历原始哈希并在新哈希中相应地分配键和值,我想知道是否有一种更流畅的方式.

解决方法

不需要光滑的方式:

my %h = (
    bmw      => { id => 1,color => "brown" },mercedes => { id => 2,color => "black" } 
);
my %j = map { ($h{$_}{id} => $_) } keys %h;

for (keys %j) {
    print "$_ $j{$_}\n";
}

输出

$./silly.pl 
1 bmw
2 mercedes

猜你在找的Perl相关文章