Thread Hash von Hashes einstiegsprobleme
(19 answers)
Opened by v0id at 2007-03-12 18:01
DU belegst zum einen immer den ganzen Hash auf einmal:
my %hash = (); inistialisiert dir einen leeren Hash. Das solltest du vor dem Einfügen der Werte machen. Dann erstellst du den Hash nur innherhalb von Codeblöcken{}, was dazu führt, dass der Hash außerhalb dieser Blöcke nicht mehr existiert. Daher auch die Notwendigkeit ihn vorher zu deklarieren. Mit jeder Zeile aus deiner Datei möchtest du einen Datensatz anlegen. Das geht so: $hash{'Schluessel'} = { 'meine' => 'Datenstruktur' }; Wichtig ist, dass du das $-Zeichen nimmst, und nicht das %-Zeichen, wenn du ein Element des Hashes ansprechen möchtest. Nun noch was zur Ausgabe: Du baust einen Hash aus Hashes. Wenn du einen Hash mit print ausgibst erhältst du für dich wohl unbrauchbare kryptischen Kram. Nimm dazu das Modul Data::Dumper: print Dumper( \%hash ); Einen Hash durchläuft man entweder mit each in einer while-Schleife: oder mit den Schlüsseln in einer anderen Schleife: Und immer schön use strict; und use warnings; benutzen (weniger den -w-Switch, aber das wurde schon öfter mal woanders behandelt). Wenn du Hashes aus Hashes hast wirst du auch nicht umhin kommen dich mit Referenzen zu beschäftigen. Das wirst du brauchen: Code: (dl
)
1 # Hash aus Hashes: Grüße, pktm http://www.intergastro-service.de (mein erstes CMS :) )
|