返回主页
关于纯度警告的简要说明
一些模块以及依赖于其他perl模块的模块也具有非厄尔分量。要构建这些模块,通常需要工作编译器。
我通过查看这些模块的依赖性和MANIFEST文件(应包含分发中所有文件的列表,例如在这里).如果分布依赖于内联模块,或者如果它包含任何具有以下扩展名的文件,然后假设它不是“纯perl”。
然而,如果字符串“PurePerl”出现在MANIFEST中的任何位置,那么我假设有一个“纯perl”版本*以及任何“不纯”版本代码的版本,打包在同一发行版中。
当然,这只是一个启发。你无法准确地确定文件名的内容。此启发式可能出现的错误包括:
- “纯”版本有其他名称-例如,Params::ValidatePP(但查找PP后缀只会导致其他错误PDL::PP或Inline::CPP等模块)
- 例如,可以使用.c文件测试模块。安例如Text::CPP(其中PP代表预处理器,不是纯果肉;尽管在这种情况下,模块不是“纯”的无论如何)
- perl文件可能包含C(或其他语言)源代码字符串,并在一些疯狂的非XS、非内联中构建和运行它方式