我正在尝试在perl中执行此布尔表达式,我的代码应该是这样的
enter code here
$flag = 0;
while (<INFILE>)
{
if(/name/ && $flag==0)
{
$flag = 1;
print "HELLO\n";
}
elsif($flag)
{
print "Bye\n";
我的计划是写这样的东西
flag=0
while<>
if(/name/ && !flag)
flag=1;
elsif(flag)
last;
所以我在代码中所做的是什么有什么不对的?这是在perl中声明真值和假值的方式
答案 0 :(得分:1)
根据您的评论:
while (<>) {
$flag = 1 if /name/;
if ($flag) {
# do something
}
}
或者你可以这样做:
while (<>) { last if /name/ }
while (<>) {
# do something
}
答案 1 :(得分:1)
一个简单的答案是:
在Perl中,0或''被视为假。非零数字(1,42等)或长度大于0的字符串('true','foo')被认为是真的。