给定/何时实验的哪些部分?

dax*_*rod 11 syntax perl switch-statement

整个"切换"功能是否已成为实验性的?在没有未来版本的Perl破坏我的代码的情况下,我可以依赖它的部分吗?总的来说,将稳定特征改为实验的政策是什么?

背景

use feature "switch"自5.10以来一直在Perl.从5.10到5.14,perlsyn似乎表明这是一个稳定的,支持的功能.

然而,perlsyn 5.16 开始,它开始称之为 " 实验性开关功能",并且对于被认为是实验的内容更加困惑.

部分文档似乎表明该功能的所有内容都是实验性的:

在"开关"功能,Perl中获得了实验用的关键字given,when,default,continue,和break.

甚至还有关于给定和何时实验细节的整个部分.

然而,perlsyn 说"这foreach是设置一个局部化器的非实验性方法",并给出了一个例子,似乎暗示foreach/when不是实验性的.

据我所知,"实验"语言来自提交c2f1e22,它引用了RT#90926,即使与RT#90906配对,它仍然没有提供太多的上下文.

ike*_*ami 5

整个"切换"功能是否已成为实验性的?

不,它一直都是.

更新:哦,哇,也许我错了.我在5.10.0或.1中找不到这一点.也许不是吗?或许他们忘记注意了?无论哪种方式,它们似乎比我想象的更糟糕!但根据我以后看到的情况,我认为这一教训是学到的.(例如,我仍然认为这values $ref是一个坏主意,但至少它从第1天开始就被标记为实验性的.)

在没有未来版本的Perl破坏我的代码的情况下,我可以依赖它的部分吗?

从技术上讲,不,虽然开发人员在向后兼容方面始终保持谨慎.

总的来说,将稳定特征改为实验的政策是什么?

我没有看到这种情况发生过.将使用弃用过程.


迄今为止的变化:

  • given正在从创建一个词汇$_变为局部化,$_如5.18中的foreach循环(或者它已经在5.16中发生过?).

  • 5.10.1看到了智能匹配*的一些重大变化.不要使用(智能匹配)5.10.0.

未来可能的变化:

  • 智能匹配*的行为仍然是一个热门话题.

* - 是的,这是一个与给定时间不同的特征,但它在大多数人的脑海中是相同或密切相关的.