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

Perl是一種粘性語言,如果你有其他語言的基礎的話,你會發現他的流程控制完全和你所知的一模一樣。

簡單說一下他們的區別

  • Perl的elsif在其他語言裏頭可能表示爲else if
  • Perl的last,next在其他語言裏頭可能叫break和continue
  • 不用找了,Perl中沒有switch,其實這用if else也是可以實現的,不是麼?
  • Perl可能比你知道的語言裏頭多了這些:條件控制結構unless、循環控制結構until
  • Perl還有一些特殊的寫法

還是詳細介紹一下Perl的流程控制吧

條件結構

語法:

if結構

if(條件){執行內容}

if-else結構

if(條件){執行內容}else{執行內容}

if-elsif-else結構

if(條件1){執行內容}elsif(條件2){執行內容}else{執行內容}

unless結構

unless(條件){執行內容}

說明:unless表示除了滿足條件的,其他都可以執行

unless-else結構

unless(條件){執行內容}else{執行內容}

循環結構

語法結構:

for循環

for(循環參數初始化;循環終止條件;循環參數累積方式){執行語句}

注意:for循環第一次執行也會進行循環終止條件判斷。(你可能知道,但可能有人沒注意)

While循環

while(循環終止條件){執行語句}

Until循環

until(循環終止條件){執行語句}

while和until的區別:while當條件返回false時終止循環;until當條件返回true時終止循環;

do-while循環

do{執行語句}while(循環終止條件);

while/until和do-while區別:while/until如果循環終止條件爲false,則一次都不會執行;do-while不管條件,至少會執行一次。

foreach循環

foreach $var (@array){$var}

簡單說明$var相當於一個容器,存放數組每一個位置存放的數據。等價於for($flag=0;$flag<@array;$flag++){$var = $array[$flag];}

單行條件/循環結構

說明:如果條件結構或循環結構下只包含一行執行內容,可以採用以下寫法;雖然條件判斷寫在最後面,但是會先執行.

if(條件){單行執行語句;}等價於:單行執行語句;if(條件);

unless(條件){單行執行語句;}等價於:單行執行語句;unless(條件);

until(終止條件){單行執行語句;}等價於:單行執行語句;until(終止條件);

while(終止條件){單行執行語句;}等價於:單行執行語句;while(終止條件);

循環控制結構

last;退出當前循環體;

next;停止當前執行內容,進入下一次循環


Perl 有goto label;的語法,這種語法讓流程控制十分靈活;缺點:讓程序較難管理和維護。還是不要用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章