Thread eher allgemeine fragen zu oop (27 answers)
Opened by mark05 at 2010-04-13 11:26

mark05
 2010-04-13 11:26
#135915 #135915
User since
2010-01-05
129 Artikel
BenutzerIn
[default_avatar]
hi

da ich mittlerweile auch perl::crtic kennen gelernt habe versuche ich gerade
meinen code entsprechend anzupassen , soweit es geht.

einer der beliebtesten hinweise von perl::critic ist bei mir

Package variable declared or used at line xx

was im kern auch richtig ist da ich bis heute nicht rausbekommen habe wie
ich methoden / objecte in einem andren modul ansprechen kann
ausser das ich eine globale variable auf meine modul mache.

wrum geht es .
ich habe hier einen daemon geschrieben der in der laufzeit einface module
Code: (dl )
1
2
sub bla {} 
1;

nachladen kann.

aus diesen herraus will ich natuerlich auf meine objekte config und syslog
zugreifen die im hauptscript defeniert sind .

wenn ich nun ein normales my $mylogger=mylogger->new(); mache funktioniert das im haupt script aber nicht in dem modulen.

ein $::mylogger=mylogger->new(); funktioniert hingegen.

das gleiche gilt natuerlich auch bei "normalen" .pm modulen wo ich gerne
fuer die ausgabe syslog verwenden wuerde aber ich eingelich vermeiden moechte das ich dort modul doppelt verwende / defeniere.

gibt es eigenlich dann nur noch den weg ueber eine "zwischen modul"
wo ich dann alle module dann ueber ein objekt exportiere ?
Code: (dl )
use base qw(Exporter mylogger hglconfig);


wie kann ich es am besten handhaben in modulen eine ausgabe zu bauen
die z.b. a:nach syslog geht und b. fuer dbugging auf console
ohne gleich im modul und im hauptprogramm sys::syslog einzubinden.


ich hoffe das ganze nich alzu verwirrend dargestellt zu haben.

holger
Last edited: 2010-04-13 11:29:07 +0200 (CEST)

View full thread eher allgemeine fragen zu oop