我得到了一些代码它可以工作,但不理解这部分!$dump_done ...
my $dump_done = 0;
foreach my $line(keys %results){
if ($results{$line} == 1 and !$dump_done) {
print Dump($post);
$dump_done = 1;
}
}
我得到了一些代码它可以工作,但不理解这部分!$dump_done ...
my $dump_done = 0;
foreach my $line(keys %results){
if ($results{$line} == 1 and !$dump_done) {
print Dump($post);
$dump_done = 1;
}
}
!
是逻辑非运算符。它将返回 的否定$dump_done
。如果$dump_done
contains 0
,否定会给你1
:
my $dump_done = 0;
print !$dump_done; # Prints 1
这是有效的,因为在Perl
任何非零值中都被考虑true
并被0
考虑false
。
你可以试试这个片段:
if (5) {
print "Hello"; # Will be executed.
}
大多数编程语言中的!
字符代表NOT,它是negation。
如果变量的值$dump_done
仍然为零,则在测试$dump_done
时它将返回FALSE (0)。如果你否定这个表达式,你会得到一个TRUE表达式 (!= 0)。
见真假