Perl 條件語(yǔ)句

Perl 條件語(yǔ)句是通過一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。

可以通過下圖來簡(jiǎn)單了解條件語(yǔ)句的執(zhí)行過程:

注意,數(shù)字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 為 false ,其他值均為 true。 true 前面使用 !not則返回 false 。

Perl 提供了下拉的條件語(yǔ)句:

語(yǔ)句描述

if 語(yǔ)句

一個(gè) if 語(yǔ)句 由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句組成。

if...else 語(yǔ)句

一個(gè) if 語(yǔ)句 后可跟一個(gè)可選的 else 語(yǔ)句,else 語(yǔ)句在布爾表達(dá)式為假時(shí)執(zhí)行。

if...elsif...else 語(yǔ)句

您可以在一個(gè) if 語(yǔ)句后可跟一個(gè)可選的 elsif 語(yǔ)句,然后再跟另一個(gè) else 語(yǔ)句。

unless 語(yǔ)句

一個(gè) unless 語(yǔ)句 由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句組成。

unless...else 語(yǔ)句。

一個(gè) unless 語(yǔ)句 后可跟一個(gè)可選的 else 語(yǔ)句。

unless...elsif..else statement

一個(gè) unless 語(yǔ)句 后可跟一個(gè)可選的 elsif 語(yǔ)句,然后再跟另一個(gè) else 語(yǔ)句

switch 語(yǔ)句

在最新版本的 Perl 中,我們可以使用 switch 語(yǔ)句。它根據(jù)不同的值執(zhí)行對(duì)應(yīng)的代碼塊。

三元運(yùn)算符 ? :

我們可以使用 條件運(yùn)算 ? : 來簡(jiǎn)化 if...else 語(yǔ)句的操作。通常格式為:

Exp1 ? Exp2 : Exp3;

如果 Exp1 表達(dá)式為 true ,則返回 Exp2 表達(dá)式計(jì)算結(jié)果,否則返回 Exp3。

實(shí)例如下所示:

#!/usr/local/bin/perl
 
$name = "W3Cschool教程";
$favorite = 10;     # 喜歡數(shù)

$status = ($favorite > 60 )? "熱門網(wǎng)站" : "不是熱門網(wǎng)站";

print "$name - $status\n";

執(zhí)行以上程序,輸出結(jié)果為:

W3Cschool教程 - 不是熱門網(wǎng)站