Thread eher allgemeine fragen zu oop
(27 answers)
Opened by mark05 at 2010-04-13 11:26
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 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) |