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