导出Perl包中的所有subs可以使用以下方法:
perldoc
命令查看Perl包的文档,其中包括了所有的subs。perldoc<package_name>
Module::Info
模块来获取Perl包的信息,包括所有的subs。use Module::Info;
my $info = Module::Info->new_from_module('<package_name>');
my @subs = $info->functions;
print "Subroutines in<package_name>:\n";
foreach my $sub (@subs) {
print "$sub\n";
}
B::Concise
模块来获取Perl包的opcode信息,从中提取出所有的subs。use B::Concise;
my $file =<package_name>.pm';
my $concise = B::Concise->new();
my $subs = $concise->get_subs($file);
print "Subroutines in<package_name>:\n";
foreach my $sub (@$subs) {
print "$sub\n";
}
其中,<package_name>
是要查询的Perl包的名称。
需要注意的是,以上方法只能获取到Perl包中的公开subs,不能获取到私有subs。
领取专属 10元无门槛券
手把手带您无忧上云