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){
  2. # 在布尔表达式 boolean_expression 1 为 false 执行
  3. }
  4. elsif( boolean_expression 2){
  5. # 在布尔表达式 boolean_expression 2 为 true 执行
  6. }
  7. elsif( boolean_expression 3){
  8. # 在布尔表达式 boolean_expression 3 为 true 执行
  9. }
  10. else{
  11. # 没有条件匹配时执行
  12. }

实例

  1. #!/usr/bin/perl
  2. $a = 20;
  3. # 使用 unless 语句检测布尔表达式
  4. unless( $a == 30 ){
  5. # 布尔表达式为 false 时执行
  6. printf "a 的值不为 30\n";
  7. }elsif( $a == 30 ){
  8. # 布尔表达式为 true 时执行
  9. printf "a 的值为 30\n";
  10. }else{
  11. # 没有条件匹配时执行
  12. printf "a 的 值为 $a\n";
  13. }

执行以上程序,输出结果为:

  1. a 的值不为 30