2010-04-13T12:23:37
esskarja, schon, aber deine Kinder/Module/Plugins müssen ja irgendwie an das Haupt-Modul rankommen. ich würde das ganze so tun:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Daemon;
sub load_module {
my ($self, $module_class) = @_;
$module_class->new( daemon => $self );
}
sub log {
my $self = shift;
print STDERR @_;
}
1;
package Daemon::Plugin;
use base qw/Class::Accessor::Faster/;
__PACKAGE__->mk_accessors(qw/daemon/);
1;
alle deine module leiten jetzt von Daemon::Plugin ab, und können intern dann den daemon nutzen
package MyModul;
use base qw/Daemon::Plugin/;
sub foo {
my $self = shift;
$self->daemon->log("foo called in package " . __PACKAGE__ );
}
so kann mir das mal jemand erklaeren ich werde daraus nicht schlau.
habe mir bei cpan mal die docu von Accessor angeschaut und verstehe nicht wirklich was das ding macht.
gibt es ggf eine howto oder eine deutsche erklaerung ?
holger