38、Perl UNLESS...ELSIF 语句

Perl 中,一个 unless 语句后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句

这种条件判断语句在多个条件的情况下非常有用。

在使用 unless , elsif , else 语句时你需要注意以下几点:

  • unless 语句后可以跟上 0 个 或 1 个 else 语句,但是 elsif 后面必须有 else 语句
  • unless 语句后可以跟上 0 个 或 1 个 elsif 语句,但它们必须写在 else 语句前
  • 如果其中的一个 elsif 执行成功,其他的 elsif 和 else 将不再被执行

unless...elsif 语句语法格式

Perl 中的 unless...elsif 语句语法格式如下所示:

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
{
   #  没有条件匹配时执行
}

范例 : Perl 中 unless...elsif 语句的使用

#!/usr/bin/perl

=pod

  file: mail.pl
  author: DDKK.COM 弟弟快看,程序员编程资料站(www.ddkk.com)

  Copyright © 2015-2065 www.ddkk.com. All rights reserved.

=cut
$step = 28;

# 使用 unless 语句检测布尔表达式
unless( $step  ==  27 )
{
    # 布尔表达式为 false 时执行
    printf "step 的值不为 27\n";
}
elsif( $step ==  28 )
{
    # 布尔表达式为 true 时执行
    printf "step 的值为 28\n";
}
else
{
    # 没有条件匹配时执行
    printf "step  的 值为 $step\n";
}

运行以上范例,输出结果为:

$ perl main.pl
step 的值不为 27