Hello,
bitte um Entschuldigung. Hier ging es um Perl, das habe ich eben überlesen.
Ab Perl v5.010 gibts auch static, da heißt es state. Für ältere Perl-Versionen gibts Alternativen, die genausogut funktionieren. Das hilft aber auch nicht weiter, wenn mal eben irgendeine Variable gebraucht wird. Und es ist auch nicht stilvoll, irgendwelche Variablen einfach so zu setzen, wenn irgendwann einmal darauf zugegriffen werden soll.
In Perl's OOP-Philosophie heißt es u.a.: Ein Objekt ist nur deswegen ein Objekt, weil es weiß, zu welcher Klasse es gehört (bless). Will meinen, eine Kapselung funktioniert auch ohne OOP. Aber das nur nebenbei.
Es gibt in Perl das Schlüsselwort our, darüber (ähnlich use vars(), also eine Vorwärtsdeklaration) lassen sich Variablen über später eingebundene Module nachladen, aber auch das kann schnell sehr unübersichtlich werden.
Und insgesamt, hängts alles irgendwie am Gesamtkonzept. Teamarbeitsfreundlich ist jedoch die Verwendung von Funktionen, die automatisch nachgeladen werden. Ein Blick in die dafür zuständige AUTOLOAD() genügt, zu sehen, wo die herkommen. Letztendlich brauchts in einer gut durchdachten Singleton-Factory nicht einmal eine Instanz, es wird einfach eine Methode aufgerufen, fertig, Beispiel:
$user = $singleton->user($user_kennung);
und schwubbs, habe ich Vorname, Nachname, PLZ, Ort usw. Über Säugetiere, Lurche und Fische...
Hotti