Hallo Connie!
sorry, aber ich habs immer noch nicht begriffen!
Ich bin auch nicht sicher, dass ich... aber versuchen wir's mal ;)
#!/usr/bin/perl -w
use strict;
package p1;
my $var1 = "p1";
print "p1:$var1\n";
package p2;
print "p2:$var1\n";
package main;
print "main:$var1\n";
>
> Ergebnis:
> p1:p1
> p2:p1
> main:p1
> Die lokale Variable $var1 ist deklariert im package p1 und trotzdem sichtbar im package main und sogar im package p2.
> Ich hätte erwartet, dass die Variable in main und p2 nicht sichtbar ist.
[Eike Grothe](http://perl-seiten.homepage.t-online.de/html/perl_modul.html#abs1) schreibt hierzu: »Tritt bei der Programmausführung eine package-Anweisung auf, so gilt ab dort der Namensraum des entsprechenden Packages mit eigenen Variablen. Das heißt, jede Variable ist an ein bestimmtes Package gebunden. Wichtige Ausnahmen hiervon sind Variablen, die mit my deklariert werden, sowie spezielle Variablen wie $\_ oder @ARGV.«
> Packages sollen doch dazu dienen, dass beliebieg viele Leute Routinen entwickeln,
> die dann gemeinsam verwendet werden können. Nach dem obigen Ergebnis müßten sich aber
> die Autoren absprechen, damit nur einer $var1 verwendet.
Das ist nahe an der Frage, die ich im Spotlight-Forum stellte: »Also, wie kann ich verhindern, dass ein "Nachfolger", der das Programm bearbeitet, Variablen aus dem Modul überschreibt (Darum ging's mir ja...)?«
Ich gehe davon aus, dass Du aus den Packages Module machen willst, die Du später mit use ...; eibinden willst? Schon probiert?
Viele Grüße aus Frankfurt/Main,
Patrick
--

\_ - jenseits vom delirium - \_
[[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash](http://www.atomic-eggs.com/)]
Nichts ist unmöglich? [Doch!](http://www.atomic-eggs.com/cwi/cwi_4.shtml)
Heute schon ge[gök](http://goek.atomic-eggs.com/goek_goek.html)t?