No need to use a smooth way:
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";
}
Conclusion:
$ ./silly.pl
1 bmw
2 mercedes
user181548
source
share