我得到了一些代码它有效,但不理解这部分!$ dump_done ...
my $dump_done = 0;
foreach my $line(keys %results){
if ($results{$line} == 1 and !$dump_done) {
print Dump($post);
$dump_done = 1;
}
}
答案 0 :(得分:7)
!
是Logical NOT operator。它将返回$dump_done
的否定。如果$dump_done
包含0
,则否定将为您提供1
:
my $dump_done = 0;
print !$dump_done; # Prints 1
这是有效的,因为在Perl
中,任何非零值都被视为true
而0
被视为false
。
您可以尝试使用此代码段:
if (5) {
print "Hello"; # Will be executed.
}
答案 1 :(得分:2)
大多数编程语言中的!
字符代表 NOT ,它是否定。
如果变量$dump_done
的值仍为零,则在测试$dump_done
时,它将返回 FALSE (0)。如果否定此表达式,则会得到 TRUE 表达式(!= 0)。