use common; # soll immer im controller und auch in allen
# und moeglichst auch in den unterklassen vorhanden sein
our @ISA = qw( common );
Ich würde hier entweder use base qw(common) oder use parent qw(common) verwenden.
use $driver;
Das geht nicht, i.d.R. bietet sich hier soetwas an
eval "use $driver;";
die $@ if $@;
our @ISA = $driver;
und dann push @ISA, $driver;
Kann mir jemand sagen wie man den driver ordentlich in den controller laden kann?
z.b. so:
#!/usr/bin/perl -w
use strict;
package controller;
sub new {
my ($class,$driver) = @_;
my $self = {};
bless $self,$class;
eval "use $driver;";
die $@ if $@;
push @controller::ISA, $driver;
return $self;
}
package main;
my $c = controller->new('myTest');
use Data::Dumper;
print Dumper $c;
$c->a;
myTest.pm:
package myTest;
sub func_a {
print 'Hallo!', __PACKAGE__, "\n";
}
1;
Struppi.