如果我创建的Perl模块有类似"Makefile.PL"或"Build.PL"的东西来构建Perl模块,例如,模块需要在系统中安装特定的操作系统或特定的库,我该如何编写"Makefile.PL"以便构建过程正确停止?我特别感兴趣的是CPAN测试人员需要什么方法才能在http://www.cpantesters.org/上给模块带来"失败"结果.
引用http://wiki.cpantesters.org/wiki/CPANAuthorNotes:
"我如何表明我的发行版仅适用于特定的操作系统?"
虽然它不是一个非常优雅的解决方案,但推荐的方法是使用以下消息之一在Makefile.PL或Build.PL(或测试文件中的BAIL_OUT)中消亡:
No support for OS
OS unsupported
Run Code Online (Sandbox Code Playgroud)
CPAN测试人员工具将查找其中一个短语,并将为该平台发送NA(不可用)报告.
"我如何停止获取缺失库或其他非Perl依赖项的FAIL报告?"
如果您有一些特殊的依赖项并且不希望获得CPAN测试程序报告,如果依赖项不可用,那么在Makefile或Build文件之前,只需退出Makefile.PL或Build.PL(退出代码为0)创建.
exit 0 unless some_dependency_is_met();
Run Code Online (Sandbox Code Playgroud)