Thread Variablen global bei require (49 answers)
Opened by freddy at 2009-08-24 13:38

pq
 2009-08-24 13:44
#124637 #124637
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2009-08-24T11:38:53 freddy
Wie kann ich denn erreichen, dass auch per require "eingebundene" subs auf die übergreifenden Variablen zugreifen können, ohne dass ich diese im Aufruf explizit übergeben muss?

der eigentliche weg wäre, die variablen als parameter an die sub zu übergeben.
in einem modul auf globale variablen zuzugreifen, ist ein no-go. denn so verlierst du die kontrolle (glaub mir, ich habe mal ein solches system zeitweise übernommen und bin fast verzweifelt.)
wenn es unbedingt sein muss und du es aus irgendeinem grund *nicht* als parameter übergeben kannst, dann nimm eine package-variable des moduls und setze diese mittels local();
es gibt jedoch nur wenige gründe, etwas nicht als parameter übergeben zu können. dafür sind subroutinen ja schliesslich da.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Variablen global bei require