Like Share Discussion Bookmark Smile

J.J. Huang   2021-03-11   Perl   瀏覽次數:次   DMCA.com Protection Status

Perl - 第八章 | Perl 條件語句 IF..ELSE

Perl 條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的程式碼塊。

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

注意:數字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語句。
除非… elsif..else語句 一個unless語句後可跟一個可選的elsif語句,然後再跟另一個else語句。
switch 語句 在最新版本的Perl中,我們可以使用switch語句。它根據不同的值執行對應的程式碼塊。

三元運算符 ? :

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

1
Exp1?Exp2:Exp3;

如果Exp1 表達式為true ,則返回Exp2 表達式計算結果,否則返回Exp3。

範例如下所示:

1
2
3
4
5
6
7
8
#!/usr/local/bin/perl

$name = "Ali";
$age = 10;

$status = ($age > 60 )? "A senior citizen" : "Not a senior citizen";

print "$name is - $status\n";

這將產生以下結果:

1
Ali is - Not a senior citizen

註:以上參考了
Tutorialspoint, Perl Conditional Statements - IF…ELSE