Funktionen auf Hashes

reverse Hash
Die Funktion reverse vertauscht key und value für jeden Hasheintrag.

Beispiel :
%dig_to_spell = ( 1 => "eins",2 => "zwei" );
%spell_to_dig = reverse %dig_to_spell;
=> $spell_to_dig{"eins"} = 1 und $spell_to_dig{"zwei"} = 2

keys Hash
Die Funktion keys liefert eine Liste aller keys eines Hashes.

Beispiel :
%dig_to_spell = ( 1 => "eins" , 2 => "zwei" , 3 => "drei" );
@schluessel = keys %dig_to_spell;
=> @schluessel = (1,2,3)

values Hash
Die Funktion values liefert eine Liste aller values eines Hashes.

Beispiel :
%dig_to_spell = ( 1 => "eins" , 2 => "zwei" , 3 => "drei" );
@werte = values %dig_to_spell;
=> @werte = ("eins","zwei","drei")

each Hash
Die Funktion each liefert im Listenkontext eine zweielementige Liste (key,value)
Die Funktion each liefert im skalaren Kontext den nächsten Schlüssel : Skalarer kontext

Beispiel Listenkontext :
while ( ($schl,$wert) = each %hash ) { mach was mit $schl und $wert ...}

Beispiel skalarer Kontext :
while ( $schluessel = each %hash ) { mach was mit $schluessel ... }

sort keys Hash, sort values Hash
Eine Sortierung von Hashkeys oder -values ist nicht direkt möglich.
Die keys bzw. values werden durch die Funktionen in einem Array gesammelt und dann sortiert.

Beispiel :
foreach (sort keys %hash ) { tu was mit $_ sortiert ... }