2011-02-05 25 views
1

我使用mojolicious框架来编写Web-App。 Mojo :: Base有一个很好的功能,可以在所有继承它的模块中启用stricture和warnings。如何在模块中启用FATAL警告,这些警告从我的基本模块继承而未提及所有模块中的FATAL?

但是,在我的应用程序的一组核心模块中,我希望所有的警告都是致命的。 这是通过写

use warnings FATAL => qw(all);

我想写像魔:: Base的一个模块,它只是使致命的每一个从它继承调用者的警告来实现的。这样我就可以避免一直写上面的代码。

谢谢。

回答

7

你可以说,进口警告,在其import子模块:

package MyBase; 
use warnings; 

sub import { 
    warnings->import(FATAL => qw(all)); 
} 

1; 

然后致命警告将每一个use它模块中启用:

use MyBase; 
print "<<$a>>\n"; 

产量:

Name "main::a" used only once: possible typo at warn_enable.pl line 2. 
Use of uninitialized value $a in concatenation (.) or string at warn_enable.pl line 2.