在Perl中为标量变量赋值为零

时间:2017-02-21 09:55:37

标签: perl

如何在Perl中为标量变量赋值0? 我的代码:

$x=0;

if(!$x)
{
   print "fail";
}
else
{
  print "pass";
}

输出:失败

2 个答案:

答案 0 :(得分:3)

启用use strict;use warnings;,它会告诉您!x错误:

  

使用“严格潜艇”时不允许使用Bareword“x”

应该是! $x - 或者我的偏好not $x

您应该始终use strict;use warnings 'all';

答案 1 :(得分:-1)

所以,它被分配了,但你问Perl错误的问题。你问,“是$ x假吗?”由于Perl中的零等于假,Perl说的是真的。你想知道的是,$ x被指定为零。

use strict;
use warnings;

my $x=0;

if ( not defined $x || $x != 0 ) {
   print "fail";
} else {
  print "pass";
}

这会打印pass

并且,正如我的同事所指出的那样,始终使用use strict;use warnings;,当您这样做时,您还需要在{{1}前面添加my }}。

希望这能澄清事情。