Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Perl: hash nach einem value sortieren

  1. #1
    Registrierter Benutzer
    Registriert seit
    01.07.2004
    Beiträge
    46

    Perl: hash nach einem value sortieren

    Hi,
    ich habe in perl einen hash, der z.B. folgenden Inhalt hat:

    id_Nummer => "value1", "value2", "value3", "2005.04.21"

    Jetzt kann ich mittels foreach $key(sort keys %hash){...} den hash nach id_Nummer sortieren lassen.
    Ich benötige nun aber eine Sortierung nach dem letzten value - nach dem Datum.

    Wie erreiche ich das mit meinen bescheidenen Perl Kenntnissen?

    Vielen Dank für einen Hinweis

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Ich würde es mal mit
    Code:
    foreach $key (sort {$hash{$a}[-1] cmp $hash{$b}[-1]} keys %hash)
    versuchen.

    PS: Es muss %hash = (id_Nummer => ["value1", "value2", "value3", "2005.04.21"]) heißen

  3. #3
    Registrierter Benutzer
    Registriert seit
    01.07.2004
    Beiträge
    46
    uff, danke!
    Den Konstrukt muß ich erstmal auseinandernehmen.

    Die eckigen Klammern habe ich gesetzt, war schändlicherweise nur zu faul sie zu schreiben - danke für den Hinweis.

    Kann man auch ein @rray so einfach sortieren? Das wäre nämlich auch noch so ein Knackpunkt...

  4. #4
    Registrierter Benutzer
    Registriert seit
    01.07.2004
    Beiträge
    46

    Arrow

    Ich habe mir heute noch am Bahnhof 'Perl Nitty Gritty' aus dem Addison Wesley Verlag zugelegt. Da sind u.a. klasse Beispiele zum Aufbau von hashs, arrays und deren Sortiermöglichkeiten erwähnt.
    Ich lese jetzt erst mal ne Weile und setzte die dort aufgeführten Beispiele um, dann muß ich euch hier nicht mehr belästigen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •