Hi
The problem with Perl isn't that it has no clearly-defined system of name management, but rather that it two systems, both working at once. Here's the Big Secret about Perl variables that most people learn too late: Perl has two completely separate, independent sets of variables. One is left over from Perl 4, and the other is new. The two sets of variables are called
package variables' and
lexical variables', and they have nothing to do with each other.
schönes Zitat! :)
Tja so ist das halt wenn eine Sprache alles können soll, in Perl6 sollen jetzt auch etliche Haskell-Konstrukte integriert werden, ein langer weg für ne Ersatzsprache für bash, sed und awk.
Das ist so als ob man das Pentagon über Jahrhunderte mit Anbauten erweitert hätte... in der Mitte Wigwams, darum ein Pueblo, darum ein französisches Fort, dann klassizistische Colonaden, umgeben von 5-eckigen Stahlbeton in den gerade Laserkanonen eingebaut werden sollen.
Bye
Kurt
PS: Der dazugehörige Artikel "Coping with Scoping" http://perl.plover.com/FAQs/Namespaces.html
kann nicht oft genug verlinkt werden, hier werden wirklich alle Fragen beantwortet, sogar woher lexikalische Variablen ihren dusligen Namen haben.
Zusammen mit "Seven Useful Uses of local" für Experten
http://perl.plover.com/local.html
"Revised rule of when to use my and when to use local:
1. (Beginners and intermediate programmers.) Always use my; never use local unless you get an error when you try to use my.
2. (Experts only.) Experts don't need me to tell them what the real rules are."