加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

不同版本的Perl需要不同的CPAN模块安装?

发布时间:2020-12-15 21:27:23 所属栏目:大数据 来源:网络整理
导读:我们有一个服务器场,我们正在缓慢迁移到新版本的Perl(5.12.1).我们目前正在运行5.8.5.操作系统也将从RedHat 4升级到RedHat 5,但RedHat 5仍然在Perl 5.8.8上.因此,在我们的源代码树中有一段时间,我们将支持两个版本的Perl. 我被告知要将新版本的Perl安装到源
我们有一个服务器场,我们正在缓慢迁移到新版本的Perl(5.12.1).我们目前正在运行5.8.5.操作系统也将从RedHat 4升级到RedHat 5,但RedHat 5仍然在Perl 5.8.8上.因此,在我们的源代码树中有一段时间,我们将支持两个版本的Perl.

我被告知要将新版本的Perl安装到源代码树中,以及我们当前使用的所有CPAN模块.我实际上被告知要用正确版本的Perl“编译”模块.我感到困惑对于不同版本的Perl,某些模块是否实际配置不同?考虑到这一点,我想我应该在我们的树中为Perl的每个版本配置CPAN目录?

关于这种情况的任何信息或“陷阱”?

编辑:作为一个额外的问题,同样的cpan目录(由?/ .cpan指向)是否用于两个树,或者当我在不同的树(安装模块)工作时,我应该链接到不同的目录?

解决方法

使用XS(编译的C代码,动态加载)的任何Perl模块通常只能使用与它们一起编译的相同版本的perl.这有两个原因:

原因是默认情况下,它们被安装到包含perl版本号的目录中,并且任何其他版本的perl将不会查看该目录.

原因二是因为Perl API可以在主要版本之间更改,因此即使要将库复制到相应的目录中,它们可能或可能无法正常工作,具体取决于它们使用的功能以及perl的两个版本的不同. 5.8和5.12之间有显着的差异,可能会打破几乎所有的代码.

但是,这完全不适用于纯Perl模块;它们可以自由地复制,只有很少的例外.这只是XS代码的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读