hash reverse
Horst
- perl
Hallo,
mit reverse kann ich einen hash so 'rumdrehen, dass keys und values vertauscht sind, soweit sogut, wenn das eineindeutig ist.
Nun, ich habe einen hash mit zwei keys:
hash{URL}{INDEX} = Ganze Zahl
komme mit einer ganzen Zahl {INDEX} und hätte gerne {URL} mit _einen_ Griff in die Klamottenkiste.
Wie kriege ich die Klamottenkiste?
Viele Grüße,
Hotte
Nun, ich habe einen hash mit zwei keys:
hash{URL}{INDEX} = Ganze Zahl
komme mit einer ganzen Zahl {INDEX} und hätte gerne {URL} mit _einen_ Griff in die Klamottenkiste.
Die Funktion grep sollte helfen:
my @keys = grep { $hash{$_}{INDEX} == 42 } keys %hash;
In @keys stehen dann alle URL, die einen INDEX-Wert von 42 haben.
Siechfred
Nun, ich habe einen hash mit zwei keys:
hash{URL}{INDEX} = Ganze Zahl
komme mit einer ganzen Zahl {INDEX} und hätte gerne {URL} mit _einen_ Griff in die Klamottenkiste.Die Funktion grep sollte helfen:
my @keys = grep { $hash{$_}{INDEX} == 42 } keys %hash;
In @keys stehen dann alle URL, die einen INDEX-Wert von 42 haben.
Vielen Dank!
So in Etwa habe ich mir das vorgestellt. Basst.
Viele Grüße,
Horst Haselhuhn
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
Hallo,
hash{URL}{INDEX} = Ganze Zahl
Kann ir jemand erklären, wie so etwas aussieht?
Bisher ist mir nur $hash{$key} begegnet.
Danke
hash{URL}{INDEX} = Ganze Zahl
Kann ir jemand erklären, wie so etwas aussieht?
Klar, lies die Doku zu Perl:
http://perldoc.perl.org/perldsc.html#HASHES-OF-HASHES
Siechfred
Hallo,
Klar, lies die Doku zu Perl:
http://perldoc.perl.org/perldsc.html#HASHES-OF-HASHES
das habe ich befürchtet, in Selfhtml habe ich nämlich auch nichts gefunden. Obiges ist allerdings für mich höhere Mathematik (höheres Englisch).
Danke trotzdem
http://perldoc.perl.org/perldsc.html#HASHES-OF-HASHES
das habe ich befürchtet, in Selfhtml habe ich nämlich auch nichts gefunden. Obiges ist allerdings für mich höhere Mathematik (höheres Englisch).
Dann frage doch einfach, was Du nicht verstehst :)
Siechfred