Mar*_*n08 3 perl module compilation forward-compatibility
我想在我的Perl 5.8.9中安装File :: Fetch,它是Perl 5.12中的核心模块.一般来说,我想在我的后期Perl中编译和安装未来日期的模块,因为我无法升级我的Perl.
所以我下载了模块及其依赖项.依赖树之后非常痛苦,但我更关心的是它们中的一些是核心模块.如果我安装这些,我的Perl 5.8.9核心将有5.12的补丁.
我的问题是如何知道我是否可以安全地安装未来的模块,特别是核心模块.是否有一个教程用于测试Perl中的向后兼容性?
编辑:
我的模块是双重生命,但我无法使用cpan编译它.它说我的FTPsite.yaml有一个坏元素.但是,我遵循模块的META文件中的依赖项,我可以编译模块.这是cpan中的奇数位吗?谢谢.
我手动安装所有这些依赖项后无法重新创建该问题.但这是错误:
cpan[5]> install File::Fetch
Running install for module 'File::Fetch'
Running make for B/BI/BINGOS/File-Fetch-0.24.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Time::HiRes loaded ok (v1.9715)
CPAN: YAML loaded ok (v0.72)
Alert: While trying to 'parse' YAML file
'/Users/martin/.cpan/FTPstats.yml'
with 'YAML' the following error was encountered:
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
Line: 3
Document: 1
at /opt/local/lib/perl5/site_perl/5.8.9/YAML.pm line 36
Run Code Online (Sandbox Code Playgroud)
如果perl核心模块也可以单独使用,这意味着它可以用于较旧的perls(除非它明确要求某个版本的perl),如果没有,那就是一个bug.
也就是说,5.10几乎在三年前发布了,你将开始看到越来越多的问题使用旧版perl的新模块.
cpan或cpanplus将为您处理依赖项.