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配对,它仍然没有提供太多的上下文.
整个"切换"功能是否已成为实验性的?
不,它一直都是.
更新:哦,哇,也许我错了.我在5.10.0或.1中找不到这一点.也许不是吗?或许他们忘记注意了?无论哪种方式,它们似乎比我想象的更糟糕!但根据我以后看到的情况,我认为这一教训是学到的.(例如,我仍然认为这values $ref是一个坏主意,但至少它从第1天开始就被标记为实验性的.)
在没有未来版本的Perl破坏我的代码的情况下,我可以依赖它的部分吗?
从技术上讲,不,虽然开发人员在向后兼容方面始终保持谨慎.
总的来说,将稳定特征改为实验的政策是什么?
我没有看到这种情况发生过.将使用弃用过程.
迄今为止的变化:
given正在从创建一个词汇$_变为局部化,$_如5.18中的foreach循环(或者它已经在5.16中发生过?).
5.10.1看到了智能匹配*的一些重大变化.不要使用(智能匹配)5.10.0.
未来可能的变化:
* - 是的,这是一个与给定时间不同的特征,但它在大多数人的脑海中是相同或密切相关的.