在我们的应用程序中,我们有一个通用的基本模块,可以为它从中获取的每个文件启用
strict
、warnings
和一些其他编译指示。它还启用签名并禁用有关实验性签名的警告:use
当使用 Perl 5.32(仍然认为签名是实验性的)在 CI 中进行测试时,我仍然收到大量关于实验性的警告,因为我们加载了其他模块,如 Moose 或 Test2::V0after
我们的基本模块。
sub import {
warnings->unimport('experimental::signatures');
feature->import('signatures');
}
有没有办法永久禁用特定警告,无论其他模块是否在我们的范围内产生
use MyApp::Base; # initial setup, enables signatures
use Carp;
use Moose; # unconditionally enables experimental warnings again
?
我想在每个代码中使用我们的基类作为first导入,以允许各种初始设置任务。我真的需要手工制作订单来像这样移动上面的所有 Moose/Test2::V0/... 导入吗?
use warnings
在具有公共基类的其他项目中如何处理这个问题?