gpt4 book ai didi

perl - 所有 perl 版本都支持旧模块吗?

转载 作者:行者123 更新时间:2023-12-04 16:29:48 25 4
gpt4 key购买 nike

我在我们所有的服务器上都安装了 Perl 5.8,并且想使用 DBI 和 DBD::Oracle 模块来访问我们的数据库。我主要担心的是新版本的 perl DBI 和 DBD 模块将停止与 5.8 一起工作。然后我必须将每台服务器升级到最新的 perl 版本。

我的问题是,随着 perl 本身成为更高版本并且为它们开发模块,它们是否仍然向后兼容? “CPAN 不包含 Perl 的所有旧版本和补丁级别”,如果我创建文档说运行“cpan -i DBI”,如果最新版本的 DBI 不能与 5.8 一起使用?

最佳答案

不是绝对的,但总的来说,perl 对破坏代码非常温和,没有太多的破坏性更改,而且确实发生的那些更改的弃用周期很长。 1999 年上传到 CPAN 的大部分代码将在 perl 5.14 中运行而无需修改。

自 perl 5.12 以来,perl 的发布周期变短了,弃用期也变短了,这令人担忧,但与此同时,特性版本控制的概念已经流行起来。这个想法是代码可以用 use VERSION 声明它所针对的 perl 版本。 (例如 use 5.16.0 ),并且任何未声明版本的代码都假定针对大约 5.10。当针对较旧 perl 版本的代码在较新的 perl 版本上运行时,可能导致兼容性问题的较新功能(例如新关键字)被禁用,并且可能以兼容性的名义重新启用旧的错误功能。这不是绝对的保证,但会尽可能地遵守。

有关向后兼容性和弃用的更多信息,请参见 perlpolicy .

关于perl - 所有 perl 版本都支持旧模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com