PERL: Array of Hashes


Recommended Posts

Captain Awesome

Hallo Männer (gibt's Frauen? :ears: ),

bin mal wieder zbled für etwas. Geht um die Benützung des LEO-Dictionary Moduls in PERL (-> http://search.cpan.org/~tlinden/WWW-Dict-Leo-Org-1.34/Org.pm).

Mir ist klar, was ich durch Aufruf von translate zurückbekomme - oder auch nicht. Ich krieg ein Array von Hashes zurück. In dem Array sind offensichtlich die Keys "data" und "title" vorhanden. Der Value von "data" ist ganz offensichtlich wieder eine Array von Hashes, ihrerseits mit den Keys "left" und "right" und den zugehörigen Values.

Das ist nicht unlösbar, aber ich hab inzwischen vor lauter Keys und Arrays nurnoch einen Knoten im Schädel. Vielleicht kann jemand "frischer" mir relativ flott und einfach helfen, die Values aus "left" bzw "right" zu holen.

Ich bin so weit, dass ich mir punktuell genau einen Wert von "right" rausholen kann:

print $results[0]{'data'}[0]{'right'};

Was ich jetzt also bräuchte wäre eine Funktion die mir ALLE {right}-Einträge rausschreibt, idealerweise wieder in ein Array. Man müsste also die zweite Eckige Klammer so lang erhöhen, wie es einen Wert zurückliefert. In C# würd ich schon fleißig Schleiferln schreiben, aber PERL kann das ja angeblich schöner ..? Egal wie schön oder schirch, funktioniern solls, wäre echt toll.

Danke schonmal ... :D

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Captain Awesome

Eh, na mich hat primär die fehlende Doku fertig gmacht. Da war dann plötzlich doch ein Array, und kein Hash, und so. Gscheit debuggen geht nicht leiwand (Ecplise, bähh), und überhaupt, manchmal hat man einfach einen Knoten in den Synapsen. :=

(Nach 2 Stunden gewurschtle und letztendlich Erfolg hab ich die Lösung in einem alten Projekt von einem Kollegen gefunden. 3 Zeilen letztendlich. :rageguy:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...


  • Folge uns auf Facebook

  • Partnerlinks

  • Unsere Sponsoren und Partnerseiten

  • Wer ist Online

    • Keine registrierten Benutzer online.