Perl在旧的perl上没有警告"实验性"

Sui*_*uic 8 perl warnings

我有一段代码,它使用了大量的实验中(when,smartmatch,given)的特点,这不是我的代码,我不希望看到很多关于实验性功能的警告.所以我添加no warnings 'experimental';了这段代码.但是experimental只在perl 5.18中添加了类别,所以我的代码在旧的perls中死掉了:

未知警告类别'实验'

如何禁用此警告并且不要破坏旧版perls中的代码?

tob*_*ink 15

试试如果:

no if ($] >= 5.018), 'warnings' => 'experimental';
Run Code Online (Sandbox Code Playgroud)


AKH*_*and 9

尝试安装和使用实验模块.在较旧的perls上它不会做任何事情,而在较新的perls上它将禁用警告.

use experimental qw(smartmatch switch);
Run Code Online (Sandbox Code Playgroud)

  • @msouth你确定你安装了模块吗? (2认同)