Hi
[1] lässt man hier das my weg, kommt auch 2 raus.
Genau das wollte ich Connie damit vermitteln, my greift immer in einem Scope - hier im Block {} - ohne my ist es das äußere $x.
auch mach dich doch frei von Connies Problemen, UNSER Problem ist es Perl auf einen Nenner zu bringen. Je besser wir es erklären können umso besser für UNS und das Archiv.
das die My-Variable zwar in Unter-Blocks aber nicht in Unter-Subs eindringt ist ja auch etwas was man sich klar machen muss.
Auch so eine nette Falle ist ja das foreach implizit die Schleifenvariable im schleifenkörper perl "local" lokalisiert... Damian Conway fordert ja deswegen auf immer sofort my zu nehmen, also
foreach my $var () {}
Ich finde auch das:
function eventFunktion(e) {
if(!e) var e = window.event;
}
>
> grausam, wird aber auch nicht moniert.
naja ich finds gut, das ist wieder etwas perlish :) Auch in perl kannst du auf die globale Variable zugreifen bevor du sie lokalisierst.
z.B. mit folgendem Einzeiler
local $level=$level+1;
kann ich die Rekursionstiefe von Funktionsaufrufen sauber erfassen. Keine Ahnung wie man das in Python basteln wollte.
Bye
Kurt