Perl UNLESS...ELSIF 语句
一个 unless 语句后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句。
这种条件判断语句在多个条件的情况下非常有用。
在使用 unless , elsif , else 语句时你需要注意以下几点。
- unless 语句后可以跟上 0 个 或 1 个 else 语句,但是 elsif 后面必须有 else 语句。
- unless 语句后可以跟上 0 个 或 1 个 elsif 语句,但它们必须写在 else 语句前。
- 如果其中的一个 elsif 执行成功,其他的 elsif 和 else 将不再被执行。
1. 语法
语法格式如下所示:
unless(boolean_expression 1){ # 在布尔表达式 boolean_expression 1 为 false 执行 } elsif( boolean_expression 2){ # 在布尔表达式 boolean_expression 2 为 true 执行 } elsif( boolean_expression 3){ # 在布尔表达式 boolean_expression 3 为 true 执行 } else{ # 没有条件匹配时执行 }
2. 范例
#!/usr/bin/perl $a = 20; # 使用 unless 语句检测布尔表达式 unless( $a == 30 ){ # 布尔表达式为 false 时执行 printf "a 的值不为 30\n"; }elsif( $a == 30 ){ # 布尔表达式为 true 时执行 printf "a 的值为 30\n"; }else{ # 没有条件匹配时执行 printf "a 的 值为 $a\n"; }
执行以上程序,输出结果为:
a 的值不为 30
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。switch case 执行是基于 Switch 模块,Switch 模块默认是没有安装的。