2014-08-07T12:54:31
amosKann mir jemand sagen warum folgende Funktion nur dann zuverlässig funktioniert wenn ich statt my @hiera; my @hiera=(); verwende?
[...]
[...]
Die Antwort ist ganz einfach, weil die Variable überhaupt nicht my
my deklariert, sondern im globalen Namensraum angelegt wurde, wie man an der relevanten Codezeile sieht.
; schließt ein Statement ab, wenn danach ein weiterer Variablenname steht, hat der mit dem
my im Statement davor nichts mehr zu tun.
An dieser Stelle ist dann wohl der obligatorische Hinweis angebracht, dass das mit
use strict nicht passiert wäre :-)
Übrigens: Man kann hier im Forum Code in Codetags setzen, dann wird er nicht von der Fließtextanzeige des Browsers zu Spaghetti verarbeitet ;-)
When C++ is your hammer, every problem looks like your thumb.