Thread Globale Variable in BEGIN Block setzen: Interaktion von my, our, undef und BEGIN
(25 answers)
Opened by murphy at 2005-09-15 04:25
Ah, logisch, der BEGIN Block wird natürlich ausgeführt, bevor die andere Zuweisung zu der Variablen erfolgt.
Allerdings bleiben da folgende Fragen bei mir offen: - wenn der BEGIN Block zuerst ausgeführt wird, warum gibt es dann trotz use strict keine Probleme mit der Zuweisung an eine nicht näher qualifizierte Globale Variable? (edit: Der folgende Code funktioniert ja auch nicht ohne Fehler, schreibt man aber ein my $stuff oder our $stuff vor den BEGIN Block, dann beschwert sich Perl nicht mehr...) - wenn das my $stuff = undef nach dem BEGIN Block ausgeführt wird, warum erzeugt es dann nicht, wie my $stuff = 0 das offenbar tut, eine neue lexikalische Variable, die die alte globale verdeckt? Bei meinem Perl gibt das Beispiel mit "my $stuff = undef;" übrigens keine Warnung! \n\n <!--EDIT|murphy|1126781614--> When C++ is your hammer, every problem looks like your thumb.
|