Thread hash Problem (11 answers)
Opened by Gustl at 2011-01-07 00:52

topeg
 2011-01-07 16:40
#144194 #144194
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
2011-01-07T15:15:18 pq
wie ich schon schrieb, ist die neuerung des codes
my $hash->{foo} = 23;
dass während der deklaration die variable schon benutzt und dereferenziert wird.
deklaration und dereferenzierung. ist ein novum.

funktioniert interessanterweise nicht mit normalen hashes:
my $hash{foo} = 23;
syntax error at -e line 2, near "$hash{foo"


Genau aus dem Grund brachte ich die autovivifikation ins Spiel. So wie ich das sehe haben wir es hier genau damit zu tun. Wie es scheint hat man es ermöglicht Initialisierung und autovivifikation in einer Zeile zu nutzen. Dieser Spezialfall tritt nur bei Scalaren auf. Und genau aus dem Grund funktioniert das zweites Beispiel auch nicht. Es handelt sich da um eine Zuweisung bei einem nicht initialisierten Hashs.

Aber das ist nur meine Meinung. Ich habe noch nichts nachgelesen.

View full thread hash Problem