如何在Perl中为标量变量赋值0? 我的代码:
$x=0;
if(!$x)
{
print "fail";
}
else
{
print "pass";
}
输出:失败
答案 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
}}。
希望这能澄清事情。