Thread Variablen Scoping (15 answers)
Opened by Student87 at 2013-02-10 19:37

Student87
 2013-02-17 12:58
#165839 #165839
User since
2012-11-08
73 Artikel
BenutzerIn
[default_avatar]
http://www1.uni-hamburg.de/wwwtrost/PerlCGI/perlsu...
->
"Sie [Subroutinen] können irgendwo im Programm platziert werden. Normalerweise wird man sie an den Anfang oder ans Ende des Programmes stellen."

Wenn ich Subroutinen an den Anfang schreibe, sind alle im Code verwendeten my-Variablen unsichtbar für die Subroutine, weil sie ja lexikalisch sind.

Wenn ich Subroutinen ans Ende schreibe, sind ebenfalls die meisten my-Variablen unsichtbar, da sie sich meistens in irgendnem Unterblock befinden, wie z.B. in ner while (<IN>) Schleife.

Bedeutet das, dass es sowieso schlechter Stil ist, in der Subroutine einfach $value zu benutzen (Wie ich es im ersten Post gemacht habe), um auf die aktuelle my-Variable zuzugreifen?
Ich spreche von "aktueller my Variable", weil es kann ja sein, dass ich in irgendnem anderen Block ebenfalls eine "my $value" erstelle und auf diese Variable dann die Subroutine anwenden will.

Heißt das, man sollte sowieso in Subroutinen immer nur Variablen verwenden, die per @_ an die Subroutine übergeben wurden? So dass es dann egal ist, ob die Subroutinen an Anfang, am Ende oder sonstwo stehen und man sich über "Sichtbarkeit" gar keine Gedanken machen muss?
Last edited: 2013-02-17 12:59:31 +0100 (CET)

View full thread Variablen Scoping