Thread Fragen zu Hashs (4 answers)
Opened by panni at 2015-07-01 10:43

betterworld
 2015-07-01 18:44
#181455 #181455
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Hier noch ein weiterer Unterschied, der (glaube ich) noch nicht genannt wurde:

Einen Hash kann man nicht als Wert in einem anderen Hash oder in einem Array speichern. Da kann man nämlich nur Skalare speichern, wenn auch beliebig viele. Eine Referenz ist ein Skalar, und somit ist auch eine Hashreferenz ein Skalar. Daher muss man immer Hashreferenzen benutzen, wenn man Datenstrukturen verschachteln möchte:

Code: (dl )
1
2
3
4
5
6
my %hash1 = (name => "Heinz");
my %hash2 = (name => "Karl");

my @array;
$array[0] = \%hash1;
$array[1] = \%hash2;

Hier kommt man um Hashreferenzen nicht herum, weil das Array den Hash nicht anders aufnehmen würde.

Weitere Unterschiede gibt es bei Referenzen auf geblesste Hashes. Diese sind nämlich (fast immer) die Datenstruktur, auf denen ein Objekt basiert.

View full thread Fragen zu Hashs