Daniel Thoma: hash reverse

Beitrag lesen

Hallo Horst,

my @keys = grep { $hash{$_}{INDEX} == 42 } keys %hash;

Bei solchen Ausdrücken werden natürlich alle Schlüssel durchlaufen. Das muss nicht schlimm sein, aber Du solltest Dir dessen bewusst sein.
Wenn der Hash groß ist und Du das öfter machen willst, würde ich die umgekehrte Zuordnung in einem extra Hash speichern:
my %foo = map {$hash{$_}{INDEX} => $_} keys %hash;

Grüße

Daniel