内容

名称

experimental - 实验性功能变得简单

版本

版本 0.031

概要

use experimental 'lexical_subs', 'signatures';
my sub plus_one($value) { $value + 1 }

描述

此编译指示提供了一种简单方便的方法来启用或禁用实验性功能。

每个版本的 Perl 都有一些功能存在,但被认为是“实验性的”。在 Perl 5 的大部分生命周期中,这只是在文档中发现的一个名称。从 Perl v5.10.0 开始,在 v5.18.0 中更激进,实验性功能被放置在编译指示后面,用于启用该功能并禁用关联的警告。

experimental 编译指示存在于将所需的咒语组合成一个跨 Perl 版本稳定的单一接口中。对于每个实验性功能,这应该启用该功能并在封闭的词法作用域中消除警告

use experimental 'feature-name';

要禁用该功能,并在适用时重新启用任何警告,请使用

no experimental 'feature-name';

支持的功能,在下面进一步说明,是

顺序很重要

使用此 pragma 来“启用实验性功能”的另一种说法是,此 pragma 将禁用使用该功能会产生的警告。因此,应用 pragma 的顺序很重要。特别是,您可能希望在启用警告启用实验性功能

use warnings;
use experimental 'smartmatch';

您还需要注意为您启用警告的模块。一个常见的示例是 Moose。在此示例中,“smartmatch”功能的警告首先由 warnings pragma 打开,由 experimental pragma 关闭,然后由 Moose 模块再次打开(修复方法是交换最后两行)

use warnings;
use experimental 'smartmatch';
use Moose;

免责声明

由于其启用的功能的性质,无法以任何方式保证向前兼容性。

另请参阅

perlexperiment 包含有关实验性功能的更多信息。

作者

Leon Timmermans <[email protected]>

版权和许可

此软件的版权归 Leon Timmermans 所有 (c) 2013。

这是免费软件;您可以在与 Perl 5 编程语言系统本身相同的条款下重新分发和/或修改它。