if statement - nested IFs or multiple condition in single IF - perl -
i have piece of code multiple conditions in perl
if (/abc/ && !/def/ && !/ghi/ && jkl) { #### }
will every condition evaluated @ once on every line?
i can prioritize conditions using nested if
s
if (/abc/){ if (!/def/){ ....so on }
&&
short-circuits. evaluates rhs operand if needed. if it's lhs operand returns false, &&
value.
for example,
use feature qw( ); sub f1 { "1"; 1 } sub f2 { "2"; 0 } sub f3 { "3"; 0 } sub f4 { "4"; 0 } 1 if f1() && f2() && f3() && f4();
output:
1 2
so following 2 lines same:
if (/abc/) { if (!/def/) { ... } } if (/abc/ && !/def/) { ... }
in fact, if
compiles and
operator, above close to
(/abc/ , !/def/) , { ... }; (/abc/ && !/def/) , { ... };
Comments
Post a Comment