perl: 控制結構

來源:互聯網
上載者:User

標籤:perl   結構   

Perl結構控制語句:

 

if條件陳述式:

if    (condition) {

    expression;

}    elsif   {

    expression;

} else {

    expression;

}

 

unless條件陳述式:

條件為假時執行.

unless (condition) {

    expression;

}    elsif   {

    expression;

} else {

    expression;

}

 

while迴圈語句:

while    (condition){

    expression;

}

 

while(1) {

    …

}   #死迴圈

 

until迴圈語句:

條件為假時才執行

until  (condition) {

    expression;

}

 

foreach迴圈語句:

foreach    $var   (@arry/list){

    expression;

}

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

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

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

 

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

foreach     (@arry/list){

    print  “$_”;

}

 

for迴圈語句:

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

for  (initialization; condition; increment) {

    expression;

}

 

for(;;) {

    …

}    #死迴圈

 

裸塊:

{

    expression;

}

 

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

last    LABEL/EXPR

 

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

next  LABEL/EXPR

 

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

redo  LABEL/EXPR

 

given-when控制結構:

given($var) {

    when (condition) { expression }

    …

    default   { expression }

}

 

多重專案的when匹配:

foreach (@arr) {

    when (condition) { expression; continue }

    …

    default { expression}

}

 

break:  跳出given塊

 

continue:繼續執行下一句

 

條件修飾詞:

dosomething    if  condition;

也可以寫成:

dosomething

    if  condition;

 

迴圈裡的標籤:

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

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

 

eval    EXPR/BLOCK: 捕獲錯誤

特殊變數[email protected]存放錯誤資訊,如果沒有觸發異常[email protected]為空白。

eval    {

    ….

}

if ([email protected]_)  {

    print “An error occurred ([email protected]),continuing\n”;

}

 

evalbytes

goto

return

exit

do

wantarray

dump

caller

"__FILE”,"__LINE__","__PACKAGE__", "__SUB__"

perl: 控制結構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.