【发布时间】:2012-06-05 01:43:38
【问题描述】:
给定一个包含代表包名的字符串的变量,如何调用包的特定子例程?
这是我发现的最接近的东西:
package MyPackage;
sub echo {
print shift;
}
my $package_name = 'MyPackage';
$package_name->echo('Hello World');
1;
这段代码的问题是子程序被作为类方法调用;包名作为第一个参数传入。我想从包名中调用子例程,而无需隐式传入特殊的第一个参数。
【问题讨论】:
-
如果你不想传递一个调用者,那么你想要的不是调用一个方法。
-
@hobbs:谢谢。我已更新问题以使用更正确的术语。
标签: perl reflection methods package