Philipp Hasenfratz: Global Variable in einem Block deklarieren

Beitrag lesen

Halihallo Calocybe

hmm was ist denn dann der Unterschied zwischen my und our ?
Ich dachte, das my "lokal" ist und our "global" ?!?
Dazu koennte ich auch nur repetieren, was in 'perldoc -f our' steht. Wozu man das 'our' nun eigentlich braucht, ist an mir aber irgendwie vorbeigegangen. Ich benutze es daher auch nicht. Vielleicht weiss es ja jemand anderes.

Mit my deklarierte Variablen lassen sich von anderen Packages (eg. main::) nicht
ansprechen, da sie im Stack (der "lexikalische Scope") des Moduls gespeichert werden.
our ist nach der Dokumentation eine Art "Durchschnitt" zwischen globalen Variablen
(diese werden in der Symbol-Table des main:: Moduls referenziert) und den lokalen
Variablen die eben im aktuellen Scope definiert sind. Durchschnitt deshalb, da sie

  • und damit komme ich auf die eigentliche Antwort der Frage - eben trotz lokalem
    Charakter (Modul-Stack) von anderen Modulen ausgelesen werden können.

So habe ich es zumindest verstanden (könnte mich also auch irren).

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.