如何在perl中从部分命名空间动态发现包?

Sap*_*Sun 0 perl packages autodiscovery

我有一个目录结构,看起来像:

Foo :: Bar :: Baz :: 1 Foo :: Bar :: Baz :: 2等

我可以列出以下内容的包:

use Foo::Bar::Baz;

谢谢!

编辑:更清楚模块是什么.

fri*_*edo 7

如果要使用特定前缀加载包含路径中的所有模块(例如,所有模块都在下面a::b::c,可以使用Module :: Find.

例如:

use Module::Find 'useall';

my @loaded = useall 'Foo::Bar::Baz';  # loads everything under Foo::Bar::Baz
Run Code Online (Sandbox Code Playgroud)

这取决于您@INC使用必要目录设置的路径,因此use lib首先需要进行任何操作(例如).