Perl use strict和use warnings

Perl use strict和use warnings,几乎每个 perl 脚本中都可以找到以下几行:

use strict;
use warnings;

在本文中,我们将逐一讨论它们。

注意:您可能无法在本网站提供的某些脚本中找到这些编译指示,这是为了避免与初学者混淆。但是,您会在高级主题上找到它们。

use strict

use strict语句称为pragma,它可以放在脚本的开头,如下所示:

#!/usr/local/bin/perl 
use strict;

它做了什么?

它会强制您正确编码以使您的程序不易出错。例如:它强制您在使用它们之前声明变量。您可以使用my关键字声明变量。my关键字将变量的范围限制为局部。它使代码更易读,更不容易出错。

如果你没有使用my关键字声明变量,那么创建的变量将是全局的,你应该避免,将变量的范围缩小到需要它的位置是一个很好的编程习惯。

示例如下,如果使用use strict但不声明变量。

#!/usr/local/bin/perl 
use strict;
$s = "Hello!\n";
print $s;

它会抛出这个错误:

Global symbol "$s" requires explicit package name at st.pl line 3.
Global symbol "$s" requires explicit package name at st.pl line 4.
Execution of st.pl aborted due to compilation errors.

要避免错误,您必须使用my关键字声明变量。

#!/usr/local/bin/perl 
use strict;
my $s = "Hello!\n";
print $s;

输出:

Hello!

同样,您需要在使用它们之前声明数组和哈希值。

注意:从 Perl 5.12 开始,隐式启用此编译指令,这意味着如果您使用的是 Perl 5.12 或更高版本,则无需使用use strict作为编译指令,它默认情况下启用。

use warnings

这是另一个pragma,它们一起使用如下:

#!/usr/local/bin/perl 
use strict;
use warnings;

注意use warnings pragm在 Perl 5.6 中引入,所以如果你使用的是 Perl 5.6 或更高版本,就可以了。如果您使用的是旧版本,可以打开如下警告:将-w放在shebang行。

#!/usr/local/bin/perl -w

即使在 Perl 5.6 或更高版本上,这也适用于任何地方。

use warnings有什么用?

它可以帮助您找到打字错误,它会在您看到程序出错时向您发出警告。它可以帮助您更快地找到程序中的错误。

注意:这里要注意的最重要的一点是use strict会在程序发现错误时中止程序的执行。另一方面,使用警告只会为您提供警告,它不会中止执行。

结论:

你应该总是在你的程序中使用这两个pragma,因为它是一个很好的编程习惯。

赞(1)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址