[Vienna-pm] Modul - Informationen von Aufruf zu Aufruf merken
Baier Oliver
oliver.baier at lotterien.at
Wed Apr 29 05:18:31 PDT 2009
Danke für die Rückmeldungen.
Mangels 5.10. habe ich mich für my innerhalb des Moduls entschieden,
da ich vom Anwender-Programm aus nicht zugreifen muss; nur vom Modul selbst.
lg
Oliver
> -----Ursprüngliche Nachricht-----
> Von: Marcel Grünauer [mailto:gr at univie.ac.at]
> Gesendet: Mittwoch, 29. April 2009 13:51
> An: Baier Oliver
> Cc: vienna-pm at pm.org
> Betreff: Re: [Vienna-pm] Modul - Informationen von Aufruf zu
> Aufruf merken
>
> Hi,
>
> On Apr 29, 2009, at 1:46 PM, Baier Oliver wrote:
>
> > Ich habe eine Methode in einem Modul, die beim Aufruf eine
> > Information des vorherigen Aufrufs beachten soll. Nachdem es
> > sich um ein Modul handelt und dem Anwender dieser Vorgang
> > eigentlich transparent bleiben soll, will ich von
> > Persistierungen ausserhalb des Perl-Programms wie DB, Datei
> > & co eher Abstand halten; auch ist diese Information nach dem
> > Ende des aufrufenden Programms nicht mehr von Bedeutung.
>
> Mit Perl 5.10 kannst Du state-Variablen verwenden, siehe etwa
> http://szabgab.com/blog/2007/12/1198487488.html
>
> In Perl 5.8 kannst Du entweder our-Variablen verwenden oder eine
> closure.
>
> Z.B. (ungetestet)
>
> {
> my $foo;
> sub bar { ... verwendet $foo ... }
> }
>
> oder
>
> sub bar {
> our $foo;
> }
>
> Alle diese Dinge sind package-global. Wenn es sich bei dem
> Package also
> um eine Klasse handelt, würde die Variable für alle Objekte dieser
> Klasse
> gelten.
>
> Wenn Du einen Wert pro Objekt speichern willst, solltest Du
> dafür einen
> Accessor bauen.
>
> Marcel
>
>
More information about the Vienna-pm
mailing list