perl 控制結構

2021-07-02 00:32:51 字數 1699 閱讀 7460

perl結構控制語句:

if條件語句:

if    (condition)     elsif    else

unless條件語句:

條件為假時執行.

unless (condition)     elsif    else

while迴圈語句:

while    (condition)

while(1)    #死迴圈

until迴圈語句:

條件為假時才執行

until  (condition)

foreach迴圈語句:

foreach    $var   (@arry/list)

$var迴圈變數並不是對列表元素的複製,而是列表元素本身。

如果在foreach體中修改了迴圈變數也就是修改了列表中的元素。

$var迴圈變數在退出foreach迴圈後恢復原來的值。

迴圈變數可以省略,預設使用$_來代替:

foreach     (@arry/list)

for迴圈語句:

perl裡的for和foreach等價,可以根據條件相互轉化。

for  (initialization; condition; increment)

for(;;)     #死迴圈

裸塊:

last函式:跳出迴圈,相當於c的break。

last    label/expr

next函式:跳出本次迴圈,繼續下一次迴圈,相當於c的continue。

next  label/expr

redo函式:無條件跳轉到本次迴圈的頂端,重新執行本次迴圈。

redo  label/expr

given-when控制結構:

given($var) …

default    }

多個專案的when匹配:

foreach (@arr) …

default }

break:  跳出given塊

條件修飾詞:

dosomething    if  condition;

也可以寫成:

dosomething

if  condition;

迴圈裡的標籤:

在for/while等迴圈關鍵字前面加上標籤可以實現跳轉。

標籤用大寫,可以是字母數字和下滑線,但是不能數字開頭。

evalexpr/block: 捕獲錯誤

特殊變數$@存放錯誤資訊,如果沒有觸發異常$@為空。

eval   

if ($@_) 

evalbytes

goto

return

exit do

wantarray

dump

caller

"__file」,"__line__","__package__", "__sub__"

Perl筆記 09 其他控制結構

unless控制結構與if控制結構恰恰相反,if是判斷表示式為真才執行下面的語句塊,unless則判斷表示式為假就執行語句塊。如果unless控制結構中加入else子句的時候那就相當於將if.else的 執行部分反過來寫是一致的 unless mon feb else 與if mon feb els...

Perl控制語句

perl的if語句和c 的if語句幾乎一樣,但是perl支援一種比較特殊的unless條件語句,和if語句的邏輯處理正好相反,if是如果條件滿足就執行body,unless是條件buma不滿足就執行body。unless語句後面也可以跟可選的else語句,也可以後跟elsif再加乙個else語句。此...

Perl入門(二)Perl的流程控制

簡單說一下他們的區別 還是詳細介紹一下perl的流程控制吧 條件結構 語法 if結構 if 條件 if else結構 if 條件 else if elsif else結構 if 條件1 elsif 條件2 else unless結構 unless 條件 說明 unless表示除了滿足條件的,其他都可...