在使用严格之前是否有理由使用警告?

时间:2011-06-20 13:49:50

标签: perl pragma

我记得在某个地方看到了一些评论

use warnings;
use strict;

是优选的(而不是首先使用strict,因为我不习惯)。我的记忆力是否正确?订单是否重要,如果有,以何种方式?

3 个答案:

答案 0 :(得分:6)

我看不出订单有多重要的技术原因。我总是先把use strict放在第一位,但除了我以前没有其他原因!

答案 1 :(得分:3)

简单:如果您在执行use strict之前执行use warnings,那么如果您使用use strict错误,则不会收到警告。 DUH!

实际上,我总是以另一种方式完成它。我的肛门保留让我按字母顺序放了两个pragma。我从来不知道有这样或那样的理由。

哎呀,perldoc use显示在use strict之前放置use warnings,这就是我在大多数官方Perl示例中看到的内容。

我怀疑这是一个文化原因。最初在Perl中,要使用警告,您可以使用

#! /usr/bin/perl -W

在你的程序的第一行。 use strict pragma后来出现,后来只有use warnings一个pragma。因此,程序(暂时)写成:

#! /usr/bin/perl -W

use strict;

-W参数不合时宜时,您只需在shebang正下方添加use warnings

#! /usr/bin/perl

use warnings;
use strict;

我喜欢Stackoverflow的一个方面是你可以学习以前从未知道的新东西。我很想知道某人是否有一个真正的理由,为什么它应该是一种方式而不是另一种方式。

答案 2 :(得分:3)

我想,也许,在Perl 5.8.9及更早的地方strictuse Strict不对不区分大小写的文件系统发出警告时,warnings首先会有所帮助。我在我的Windows XP系统上构建了5.8.9而它没有:

C:\Temp> cat t.pl
use warnings;
use Strict;

C:\Temp> c:\opt\perl-5.8.9\bin\perl.exe t.pl

C:\Temp>

那是在黑暗中拍摄的。我得出的结论是,只要没有中间声明,顺序就不重要了。