文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Perl 中 use warnings 和 -w 的区别

Perl 中 use warnings 和 -w 的区别

时间:2008-12-21  来源:MMMIX

Perl 笔记之 use warnings; 和 -w 的区别


提示:我曾经对 Perl 中 use warnings; 和 -w 的差别比较困惑,这是我搞明白后的笔记,如果你对它们的差别不感兴趣,那么只要记住一点:用 use warnings; 后面的内容可以直接忽略。

再次提示:如果你打算看 Perl 的文档 perllexwarn 或者已经看过了,那也没有必要再往下看了 :-)

Perl 中 use warnings; 和 -w 的差别简单来说就是

一) warnings 起作用的范围是包含其的 block,而 -w 的作用却是全局的(虽然你可以通过 $^W 在某些 block 里面关掉 warnings, 但是这么做是有问题的);

二) 使用 warnings 你可以有选择的打开某些警告,或是有选择的关闭某些警告,但是 -w 就是要么是所有可选的警告,要么是根本没有可选的警告。

当然它们还存在一些更加微妙的差别,例如可以关闭打开的警告种类不同,等等。

关于 use warnings; 和 -w 的种种差别,以及使用 $^W 在 block 中关闭警告存在的问题,参见 perllexwarn。

$^W 还应参见 perlvar 中对其的描述。

如果 perl 给出一个警告,你想用 no warnings 将其关掉,但不清楚要关那个警告,可以先在 perldiag 中查找你要关掉的警告对应的域(category),然后使用 no warnings 'category-name'; 将其关掉。当然,关掉警告的前提是你确实知道你的代码没有问题 ;)

warnings 支持的所有 warnings 的列表参见 perllexwarn。

另外,使用 warnings, 模块的作者还可以自定义警告,参见 warnings 和 perllexwarn。

再次另外,use warnings; 和 use strict; 的作用并不重叠,事实上它们两个应该共同使用。strict 的使用参见 strict。

perl 和警告相关的选项还有 -W 和 -X,详见 perllexwarn 和 perlrun 对其的描述。
相关阅读 更多 +
排行榜 更多 +
别惹神枪手安卓版

别惹神枪手安卓版

冒险解谜 下载
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载