Eri*_*rom 7 perl cpan metaprogramming
我有几个CPAN模块,它们广泛使用元编程来减少锅炉板并简化重构.
然而,这样做的结果是有许多程序包以编程方式创建,因此package X::Y::Z;
CPAN的源代码中永远不会有一行找到(然后用于将命名空间添加到先来保留的命名空间列表中).
所以我的问题是,是否有一种让CPAN了解这些运行时创建的包的首选方法.以下是我目前正在考虑的选项:
pm
为CPAN 创建一个虚拟文件以进行索引.provides
列表中.build dist
以更新provides
或其他部分META.yaml
最后一个选项目前是我倾向于的.我想知道这种方法是否有任何问题,或者是否有更好的方法可以使用完整的软件包列表更新CPAN.
如果我没理解错的话,这不是问题,只要你不破坏其他命名空间。没有先决条件来声明创建的每个名称空间,只需声明发行版的基本名称空间以及与发行版关联的文件即可。如果您想“保留”某些命名空间,而不是创建空白 .pm 文件,请查看创建 .pod 文件和文档。