Thread abgedrehtes problem mit switch: oder bin ich blind?
(71 answers)
Opened by deepblack at 2004-06-16 21:56
[quote=kabel,07.07.2004, 13:23][quote=Dieter,06.07.2004, 10:45]Dabei greift das Hauptprogramm auf eine Variable des BEGIN Blocks zu - und nicht umgekehrt.[/quote]
@dieter: erkläre dieses satz so, als ob hier nur dummies ohne gehirn rumposten würden. im speziellen interessiert mich die frage, ob im betreffenden BEGIN block überhaupt variablen erzeugt werden, auf die man zugreifen könnte. edit: also was haben wir hier jetzt: perl, grundlagen, mod_perl, apache ... gleich haben wir alles in EINEM thread! 8)[/quote] - Ein BEGIN Block ist 'immer' die 'erste Tat' des Compilers - Ein BEGIN Block wird compiliert und ausgeführt, noch 'bevor' sich der Compiler um den Rest des Programms kümmert Ergo: Zum Ausführungszeitpunkt des BEGIN Blocks sind dem Compiler (und damit dem Block) die Inhalte des Hauptprogramms (noch) nicht bekannt, daher ist es dem Block nicht möglich, auf Variablen des Hauptprogramms zuzugreifen - Variablen die innerhalb des BEGIN Blocks mit 'my' deklariert sind, werden vom Hauptprogramm 'nicht' gesehen - Variablen die innerhalb des BEGIN Blocks mit 'our' deklariert sind, werden vom Hauptprogramm gesehen - Variablen die innerhalb des BEGIN Blocks nicht deklariert werden, sind automatisch 'global' und werden vom Hauptprogramm gesehen - Sonder-Variablen, denen innerhalb des BEGIN Blocks eine Behandlung zukommt, werden vom Hauptprogramm gesehen Die Beispiele von ptk und pq sollte man einmal unter 'use strict' laufen lassen - dann wird der dortige Gedankenfehler klarer ... |