我有一个看起来像这样的哈希:
{ 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