[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