Meine "index.cgi" hat mindestens 4 oder 5 mal REQUIRE verwendet, um andere Module aufrufen zu können. Ich kann von dedem Skript aus eine Subroutine aufrufen, sogar, wenn diese Subroutine in "index.cgi" oder in einem anderen REQUIRE-Modul definiert wurde!
Und genau das klappt mit Variablen leider nicht.
doch kannst du, aber nur wenn du unsauber programmierst.
das ganze Problem ist eine Verständnissfrage, was tut require was tut use, was ist eine Modul oder ein package, was genau ist Wirkung von my, our, was sind namespaces, wie kann man Variabeln über Pakete hinweg sichtbar machen, sollte man das tun, usw. usf.
Mit diesen Fragen solltest du dich auseinandersetzen, bisher gehst du immer einen Schritt und wenn du abgestürzt bist schaust du nach unten, dann ist es zu spät.
Das Konzept von Perl mit den Modulen, beinhaltet auch verschiedene Pakete, also nicht einfach use Modul; und dann callFunction(); sondern die Module können und sollen in verschiedene Namensräume getrennt werden. Darauf zugreifen kannst du dann über verschiedene Wege, entweder du importierst diese Funktionen oder du rufst sie qualifiziert auf über Modul::callFunction(), das gleiche gilt in etwa für Variabeln, es sei denn, sie sind als my deklariert, dann stehen sie nur in dem jeweiligen "Scope" (Also Gültigkeitsbereich) zu Verfügung und das soll auch so sein, wenn du das nciht möchtest, hast du auch mehrere Möglichkeiten. Entweder du arbeitest mit globalen Variablen die du vollqualifiziert ansprichst z.b. $main::var oder du exportierst sie mit Exporter oder du benutzt ein Modul, mit dem du Initialisierungsvariabeln benutzen kannst, dass ist wohl auch das worauf du hinaus willst.
Aber was du wirklich willst, läßt sich so nicht sagen, da weder dein Konzept noch dein Ziel erkennbar ist.
Struppi.
Javascript ist toll (Perl auch!)