Sortierung eines hashs nach $value nicht nach $key
timothy
- perl
Hi Folks,
ich habe folgendes Problem:
Ich möchte einen hash sortieren , aber nicht nach dem Schlüssel, sondern nach den Werten. Hintergrund: Ich zähle Wörter wobei die einzelnen Wörter den Schlüssel darstellen, die Anzahl des Vorkommens der einzelnen Wörter im Text als Wert.
z.B. %woerter= ("der" => 12, "die" => 123 , "das" => 45 ...) usw.
Rauskommen soll eine Ausgabe der Form (sortiert - egal ob auf- oder absteigend):
der kommt 12 mal vor
das kommt 45 mal vor
die kommt 123 mal vor usw.
Sortieren nach Schlüssel ist dank "Perl Cookbook" kein Problem. Aber nach value???
Kennt jemand eine (unkomplizierte) Lösung???
Eine relativ aufwendige Lösung, in welcher ich Schlüssel und Wert zusammenfüge und irgendwie sortiere habe ich schon. Aber vielleicht gibt es ja eine triviale Lösung (ev. eine Perl-Funktion).
Danke im voraus
Timothy
... ich habe jetzt erst im Archiv gesucht (falsche Reihenfolge -> ich gebe es zu) - und da auch etwas gefunden.
Das schaue ich mir jetzt ersteinmal an - und melde mich wieder, wenn dies keine Lösung für mich ist.
Sorry
Timothy
... war erfolgreich.
unter <../../sfarchiv/1998_4/t00940.htm#a3810> steht die Lösung.
Also, für alle : erst Archiv -> dann Fragen.
Ein kleinlauter Timothy
Hi Timothy!
Keine Ahnung, was Du im Archiv gefunden hast, aber dies ist ein Standardproblem und findet sich natuerlich auch in den Perl FAQs.
<http://www.activestate.com/ActivePerl/docs/lib/Pod/perlfaq4.html#how do i sort a hash (optionally by value instead of key)>
(Keine Ahung, ob der Link jetzt funzt - warum haben die auf einmal *Leerzeichen* in ihren Anchor names?!)
So lange
Keine Ahnung, was Du im Archiv gefunden hast, aber dies ist ein Standardproblem und findet sich natuerlich auch in den Perl FAQs.
<http://www.activestate.com/ActivePerl/docs/lib/Pod/perlfaq4.html#how do i sort a hash (optionally by value instead of key)>
genau dieses - der Link funzt.
Danke
Timothy