Perl 條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。
可以通過下圖來簡單了解條件語句的執行過程:
image
注意,數字 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 = "菜鳥教程";
$favorite = 10; #
$status = ($favorite > 60 )? "熱門網站" : "不是熱門網站";
print "$name - $status\n";
執行以上程序,輸出結果為:
菜鳥教程 - 不是熱門網站