Perl 條件語句

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

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

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

Perl 提供了下拉的條件語句:

語句描述

if 語句

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

if...else 語句

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

if...elsif...else 語句

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

unless 語句

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

unless...else 語句。

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

unless...elsif..else statement

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

switch 語句

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

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

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

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)站