一个 unless 语句后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句。
这种条件判断语句在多个条件的情况下非常有用。
在使用 unless , elsif , else 语句时你需要注意以下几点。
unless 语句后可以跟上 0 个 或 1 个 else 语句,但是 elsif 后面必须有 else 语句。
unless 语句后可以跟上 0 个 或 1 个 elsif 语句,但它们必须写在 else 语句前。
如果其中的一个 elsif 执行成功,其他的 elsif 和 else 将不再被执行。
语法
语法格式如下所示:
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{ # 没有条件匹配时执行}
实例
#!/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