"Programme können modular aufgebaut werden. Wenn man aber ein package aus einem Programm in eine Datei auslagert, sind Variablen anders zu behandeln (weil dann der Gültigkeitsbereich der im package definierten my-Variablen plötzlich auf das file beschränkt wird)."
Nichts ist da plötzlich, da ist exakt das Verhalten was dir hier die ganze Zeit versucht wird zu erklären.
Und ich versuche Dir zu erklären, dass diese Eigenschaft nicht offensichtlich ist, wenn von Modularisierung gesprochen wird, und dass man dieses unterschiedliche Verhalten nur herausfindet, nachdem man darauf hereingefallen ist oder Dutzende widersprüchlichre Aussagen analysiert hat.
Naja, du hast ein Buch genannt wo es anscheinend anders drin steht. Ansonsten sind diese Begrifflichkeiten soweit klar.
ein Modul ist unter Perl eine .pm datei, packages sind keine Module, auch keine Klassen oder etwas ähnliches. das steht soweit auch in der Perldoku
A package statement affects only dynamic variables--including those you've used local on--but not lexical variables, which are created with my.
Kennst du welche?
Ohne unbescheiden zu sein:
Die Dinosaurier Assembler (IBM und TR440), Algol, Fortran , PL1, Cobol, eine Zeit wo man mangels Rechnerzugang noch denken musste und nicht nach dem Motto "try and error" vorgehen konnte,
dann C, C++, SAS (4-GL) am Host und PC,
dann der komplette Schwenk zum PC mit Java, Javascript und, und, und...
Du irrst, der Großteil der Sprachen verfolgen ein anderes Konzept, wie Variabeln unter Perl deklariert werden hatte Siechfred schon, wie ich finde, ziemlich gut erklärt und bei JS ist es definitiv nicht so, dort ist es sogar noch eingeschränkter, lokale Variabel die mit var deklariert werden, sind nur innerhalb einer Funktion lokal, allerdings dort in allen Blöcken bekannt, also auch innerhalb von fremden scopes.
Im Voraus schon besten Dank für den zu erwartenden zynischen Ausdrucks der Bewunderung, den ich mir allerdings nicht mehr zumuten will.
Ich hab wirklich keine Ahnung was dein Problem ist, du hast eine Frage gestellt, die wir versuchen dir seit Tagen zu beantworten, stattdessen reitest du auf deiner Meinung herum, die eben bei Perl so nicht zutrifft, du hast einiges bekommen zum lesen wie das Konzept ist und denkst jetzt ich wollte mit dir darüber streiten?
Mir ist es doch egal ob du es verstehst oder nicht, ich und Siechfred und Patrick wollten dir lediglich helfen das Konzept zu verstehen.
Tschau
Naja, es wird vieleicht ein anderen helfen es zu verstehen.
Struppi.