看起来大多数Perl模块都声明它们对Makefile.PL中其他模块的依赖,然后CPAN使用它来安装这些依赖项。
但是现在我不是一个模块,而是一个终端用户应用程序,永远不会在CPAN上结束,我希望能够很容易地在任何给定的机器上安装该应用程序的依赖项。是否有Perl标准方法可以做到这一点?
答案 0 :(得分:3)
无论如何将它作为一个模块并将其放入App::…
namespace。代码将存在于lib/App/**.pm
库文件中,脚本将只是一个薄的包装器; perlfind就是一个很好的例子。使用诸如MooseX::App之类的CLI框架来帮助将功能拆分为模块,这使代码更易于测试和重用。
正如您所知,基于模块的发行版直接使用metafile或间接使用构建系统声明其依赖项,然后由任何构建系统(例如Module::Build)打包。或由用户安装任何安装工具(例如cpanm)。