今天对学习了perl的if判断结构,弄懂了以下问题:
1,if判断与操作语句放在一行,意思是if为操作语句的修饰符。
比如:
print "$_" if ($_);
同样是对$_进行逻辑判断,如果为真,则打印$_。
2,如下语句:
if (<STDIN>){
   print;
}
按if的逻辑判断规则,如果我输入了0,那么不应该打印任何内容,输入其他任意字符,都应该打印出来。可是无论我输入什么内容,都会被打印出来,包括只输入一个字符0。
后来发现真正的原因是,当你输入0,然后按回车,输入的内容实际上是两个字符,即0和回车符。用<STDIN>,永远不可能只得到一个字符0,因为后面永远都跟着一个回车符。
用if来判断的时候,得到的结果总为真。