Hi Struppi,
Connies Agressionen sollte man ignorieren
Im Archiv sollte einfach für alle knapp und deutlich gesagt werden:
*** my definiert keine Packagevariablen. ***
Sichfreds Erklärung führt m.E. zu weit. Um mit Perl frustarm zurechtzukommen braucht man einfache Regeln und Kenntnis der Historie.
1. Am Anfang gabs nur globale Variablen.
2. Dann kamen Namensräume durch Packages und "local", bei dem Packagevariablen temporär überschrieben wurden.
3. Und dann wollte man Lokalisierungs-Konzepte wie "var" aus JS auf Perl abbilden OHNE globale Variablen zu manipulieren und führte "my" ein, dass halt _keine_ Packagevariable definiert, aber einen "ähnlichen" Geltungsbereich wie local hat.
Fast alle Gurus ärgern sich übrigens heute, dass sie damals "local" so irreführend benannt haben.
Viele mächtige Verfahren aus der OOP, der Closures und AUOLOAD-Mechanismen in Perl sind ohne diese Feinheiten nicht verständlich.
Bye
Kurt