zurückInhaltvorwärts Perl Einführung: Hashes

4.4 Assoziative Arrays (Hashes)

Assoziative Arrays, auch kurz Hashes genannt, sind den normalen Arrays recht ähnlich. Allerdings werden die Arrayelemente nicht einfach durchnummeriert, sondern jedes Element erhält eine Zeichenkette als Namen, den sogenannten Key. Über diesen Key kann das jeweilige Element dann angesprochen werden:

%simpsons = ("Homer", "Vater",
             "Marge", "Mutter",
             "Bart", "Sohn",
             "Lisa", "Tochter",
             "Maggie", "Baby");

print $simpsons{"Homer"};	# Ergebnis: Vater
print $simpsons{"Lisa"};	# Ergebnis: Tochter

Hashes werden durch ein vorangestelltes % Zeichen gekennzeichnet. In dem Beispiel wurde die Zuweisung über mehrere Zeilen verteilt, damit diese übersichtlicher ist.
Das Ende der Zuweisung wird wie immer durch ein Semikolon abgeschlossen. Bei Hashes ist zu beachten, daß es im Gegensatz zu normalen Arrays keine festgelegte Reihenfolge gibt. Beim Zugriff auf einzelne Elemente, wird wie bei normalen Arrays die skalare Schreibweise verwendet, allerdings ist zu beachten, daß der Key von geschweiften Klammern umschlossen wird, im Gegensatz zum Index der normalen Arrays, wo eckige Klammern verwendet werden.
Ein Element eines Hashes wird auch als Key/Wert Paar bezeichnet. Um weitere Elemente hinzuzufügen, weist man einfach einem neuen Key einen Wert zu, existiert der Key bereits, wird der entsprechende Wert überschrieben:

$simpsons{"Knecht Ruprecht"}="Hund";	   # Fügt einen neues Key/Wert Paar hinzu
$simpsons{"Maggie"}="Die jüngste Tochter"; # ändert den Wert des Keys "Maggie"

Um einen Key/Wert Paar zu entfernen, wird der delete Befehl verwendet:

delete $simpsons{"Knecht Ruprecht"};

Da es keine feste Reihenfolge von Key/Wert Paaren in einem Hash gibt, sind natürlich auch keine Befehle um ein Key/Wert Paar am Anfang oder Ende einzufügen vorhanden. Man kann also einfach nur ein Key/Wert Paar dem Hash hinzufügen, wie im obigen Beispiel beschrieben.

Perl Einführung: Hashes zurückInhaltvorwärts