有几种方法可以列出包中的所有子项:
sub list_methods {
my $package = shift;
no strict 'refs';
return grep { defined &{"$package\::$_"} } keys %{"$package\::"}
}
但是,如果包“使用”其他包,例如“File::Basename”,也会列出“fileparse”等子包。我试图“要求”软件包而不是“使用”它们,问题可以解决。另一方面,如果我“需要”包,我必须指定潜艇的完整路径。
你有什么想法吗?