Thread Mit "defined" wird hash key angelegt.
(6 answers)
Opened by BobderHund at 2012-04-25 20:36
weder mit defined noch mit exists wird ein hashkey angelegt, der abgefragt wird. das ist ein häufiges missverständnis bei autovivification. erst dereferenzierung legt einen key an, also eine operation, bei der perl den key erst anlegen muss, um eine weitere abfrage durchzuführen:
Code: (dl
)
1 $ perl -wE' man sieht, dass bei den einfachen defined und exists nichts angelegt wird, aber behandelt man den *wert* des keys selber als hash, wird er automatisch angelegt. also z.b. $hash{key}->{weiterer_key} oder %{ $hash{key} } Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |