[Moscow.pm] Плагины в perl программах
Denis Evdokimov
evdokimov.denis на gmail.com
Пт Мар 12 06:16:01 PST 2010
Не плагины, но смысл похож.
Есть базовый класс, который при необходимости подключает нужные дочерние классы
sub new
{
my $class = shift;
my $self = {@_};
if ( $class ne __PACKAGE__ )
{
#Ничего делать не надо
# $class = $class;
}
elsif ( $self->{type} )
{
my $type = $self->{type};
$type =~ tr/-/_/;
my $new_class = __PACKAGE__ . '::' . $type;
my $require_file = $new_class . '.pm';
$require_file =~ s!::!/!g;
require $require_file;
$class = $new_class;
}
else
{
die "Unknown type";
}
bless $self, $class;
return $self;
}
Подробная информация о списке рассылки Moscow-pm