Perl 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
注意,数字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 为 false ,其他值均为 true。 true 前面使用 ! 或 not则返回 false 。
Perl 提供了下拉的条件语句:
语句 | 描述 |
---|---|
if 语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
if...else 语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
if...elsif...else 语句 | 您可以在一个 if 语句后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句。 |
unless 语句 | 一个 unless 语句 由一个布尔表达式后跟一个或多个语句组成。 |
unless...else 语句。 | 一个 unless 语句 后可跟一个可选的 else 语句。 |
unless...elsif..else statement | 一个 unless 语句 后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句。 |
switch 语句 | 在最新版本的 Perl 中,我们可以使用 switch 语句。它根据不同的值执行对应的代码块。 |
三元运算符 ? :
我们可以使用 条件运算 ? : 来简化 if...else 语句的操作。通常格式为:
Exp1 ? Exp2 : Exp3;
如果 Exp1 表达式为 true ,则返回 Exp2 表达式计算结果,否则返回 Exp3。
实例如下所示:
#!/usr/local/bin/perl $name = "php中文网"; $favorite = 10; # 喜欢数 $status = ($favorite > 60 )? "热门网站" : "不是热门网站"; print "$name - $status\n";
执行以上程序,输出结果为:
php中文网 - 不是热门网站