【发布时间】:2011-03-29 02:16:48
【问题描述】:
假设我有一个 perl 模块文件,我想在运行时动态地包含和使用它。所述模块包含一个类,我需要在运行时之前不知道它的名称来实例化它。
例如,
#inside module.pm
package module;
sub new {
#setup object
}
#inside main.pl
#get module.pm as argument
my $module_var = #load reference to module using text argument?
my $module_instance = $module_var->new();
【问题讨论】:
-
一个更好更现代的想法是创建一个基类,并将这些动态加载的实体分解为
MooseX::Traits,然后您只需使用上述特征实例化基类BaseClass->with_traits('Foobar::Baz')->new;