2011-02-05 26 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.