3.4. Hashes
Eine der besonderen Stärken von Perl sind sind die Hashes oder auch assoziative Array genannt. Ein Hash ist ein Array, bei dem nicht Integer den Index angeben, sondern eine beliebige Art von Skalaren (i.a. Strings). Im Gegensatz zu Arrays haben Hashes keine spezielle Reihenfolge.
Eine Hash-Variable ist durch das vorangestellte "%" gekennzeichnet. Also z.B.:

      %feld

Auf die Werte eines Hashes greift man wie folgt zu:
     
      $feld{"index1"} = 42;
      $strasse{"Michael"} = "weg 12";
      $platz{23}="Nepomuk Niesepriem";

Hashes können ganz normal gegenseitig zugewiesen werden, also z.B.:
      $h{"a"}="b";
      $h{"c"}="d";

      %i = %h;

Besonderheit:

     @a = %i   # a = ( "a", "b", "c", "d");
      %j=@a     # und damit gleich %i und %h
     
Neue Einträge in einem Hash erzeugt man indem man dem Schlüssel einen Wert zuweist. Mit Hilfe des Operators "delete($hash{$key}})" wird ein Eintrag wieder gelöscht (nicht indem man dem Key den Wert "undef" zuweist!).

Weitere wichtige Funktionen im Zusammenhang mit Hashes sind:

Funktion
Beschreibung
LISTE=keys(%hash);
Die Funktion gibt eine Liste der Schlüssel eines Hashes zurück.
LISTE=values(%hash);
Die Funktion gibt eine Liste der Werte eines Hashes zurück.