我在一个论坛(http://forums.devshed.com/perl-programming-6/email-send-attach-950337.html *)上读到,最好“使用警告”;而不是说'-w'。这是真的?我认为'-w'只是“使用警告”的简写;这是不正确的吗?
*在名为'FishMonger
的用户下面有几个条目答案 0 :(得分:12)
警告pragma是命令行标志-w的替代,但是pragma仅限于封闭块,而标志是全局的。有关详细信息和内置警告类别列表,请参阅perllexwarn。
use warnings
的优点是它可以关闭,只影响直接范围。
例如,考虑使用会发出警告的操作的模块:
package Idiotic;
sub stuff {
1 + undef;
}
如果我们这样做,我们会收到警告
#!perl -w
use Idiotic; # oops, -w is global
Idiotic::stuff();
但不会收到任何警告
#!perl
use warnings; # pragmas are scoped, yay!
use Idiotic;
Idiotic::stuff();
答案 1 :(得分:7)