Thread Syntaxcheck sub in hash (12 answers)
Opened by bianca at 2010-10-24 10:48

topeg
 2010-10-24 11:30
#142140 #142140
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
use wird nur einmal falls möglich (außerhalb von string-eval) und ist dann im ganzen Script gültig, nur "export" wird immer wieder ausgeführt und exportiert Funktionen in den aktuellen Namespace. Das heißt du kannst das "use" fast überall einsetzen und es wird nur einmal geladen wenn perl daran "vorbei kommt".

Aus dem grund ist das Modul auch in der anderen Funktion ("jaehrlich") enthalten weil die erste Funktion mit dem "use" ("monatlich") vorher aufgerufen wurde und damit das Modul geladen wurde. Vertauscht du die Reihenfolge bekommst du eine Fehlermeldung.

Wenn das wie ein "Plugin" funktionieren soll würde ich in jede Funktion das "use" packen um von der Reihenfolge unabhängig zu sein oder eine Funktion wie "init" erstellen, die zuerst und einmalig ausgeführt wird.



Ich würde
Code (perl): (dl )
$env -> {ausfuehrungsrhythmus}{monatlich}= {...}
es so schreibe, das finde ich übersichtlicher. Auch würde ich den Funktionsaufruf so schreiben:
Code (perl): (dl )
$env{ausfuehrungsrhythmus}{jaehrlich}{berechnung}->(...)
Aber das ist reine Ästetik und hat nichts mit der Funktionstüchtigkeit zu tun.

View full thread Syntaxcheck sub in hash