'如果'评估2个表达式时的效率

时间:2016-02-24 14:33:24

标签: perl

if(expression1 or expression 2)
{
do something
}

如果'expression1'返回true,编译器是否开始执行'do something'或者它也会评估第二个表达式?

1 个答案:

答案 0 :(得分:2)

不,如果expression2expression1

,则true.进行评估

这是因为or在perl中是短圈:一旦知道了整个表达式的结果,评估就会停止。评估从左到右进行。