溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Perl中如何使用流程控制語句

發(fā)布時間:2021-06-23 14:43:45 來源:億速云 閱讀:158 作者:Leah 欄目:開發(fā)技術(shù)

Perl中如何使用流程控制語句,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Perl流程控制語句

條件選擇語句1

if(條件表達式){
語句塊1;
}else{
語句塊2;
}

條件選擇語句2

unless(判別運算式)
{
語句2;
}else{
語句1;
}

if條件語句嵌套

if(條件表達式1)
{
語句1
}elsif(條件表達式2){
語句2
}elsif(條件表達式3){
語句3
}else{
語句4
}

例:

#!/usr/bin/Perl-w  print"input?\n";  $name=<STDIN>;  chop($name);  if($nameeq"bo")  {  print"mynameis$name\n";  }elsif($nameeq"ji"){  print"mylastnameis$name\n";  }elsif($nameeq"liu"){  print"myfirstnameis$name\n";  }else{  print"unkonw------!!!!!!!!!!\n";  }

靈活使用Perl

條件表達式&&語句塊

這的確是個邏輯與操作,若條件表達式為“真”,要根據(jù)后面語句塊的執(zhí)行結(jié)果才能判斷整個邏輯與操作的結(jié)果,這樣就會執(zhí)行后面的語句;而當條件表達式為“假”,則整個表達式為“假”,不用考慮
后面語句塊的值。所以為假時的語句塊不被執(zhí)行。

open(FH,">filename")||die"打開文件出錯。";
這時整個表達式的含義是:當前面的語句執(zhí)行結(jié)果是“真”時,就不執(zhí)行后面的語句了;當前面的語句執(zhí)行出錯,結(jié)果是“假”時,就執(zhí)行后面的語句。這里die的含義是輸出出錯信息。

if語句的簡寫

[root@test-linuxtmp]#catifp.pl  #!/usr/bin/Perl-w  $i=1;  #if($i<10){  #  #print"$i<10\n";  #  #}  print"$i<10\n"if($i<10);

Perl流程控制語句之for循環(huán)

for(初始語句,條件判斷語句,循環(huán)變量步進速度){
循環(huán)體語句
}

[root@test-linuxtmp]#catpfor.pl  #!/usr/bin/Perl-w  for($i=1;$i<10;$i++){  print"$i\n";  }

Perl流程控制語句之while/until循環(huán)
while(條件表達式){
循環(huán)體語句
}

[root@test-linuxtmp]#catpwhile.pl  #!/usr/bin/Perl-w  $i=1;  while($i<10){  print"$i\n";  $i++;  }   當條件表達式為“假”時,執(zhí)行循環(huán)體語句  until(條件表達式){  循環(huán)體語句  }  #!/usr/bin/Perl-w  $i=0;  until($i>10){  print"$i\n";  $i++  }

Perl流程控制語句之do{}while/until循環(huán)

do{

}while/until(條件表達式);
do{}while的語意是執(zhí)行循環(huán)體,直到條件表達式為“假”;而do{}until的語意是執(zhí)行循環(huán)體,直到表達條件式為“真”。

Perl流程控制語句之foreach循環(huán)

foreach標量(標量)
{
循環(huán)體語句
}

[root@test-linuxtmp]#catforeach.pl  #!/usr/bin/Perl-w  @array=(1,2,3,4,5);  foreach$i(@array){  print"$i\n";  }  #!/usr/bin/Perl-w#######有一個默認變量$_  @array=(1,2,3,4,5);  foreach(@array){  print;  }   #!/usr/bin/Perl-w  @array=(1,2,3,4,5);  foreach$_(@array){  print$_;  }

循環(huán)體控制next和last等完成。

[root@test-linuxtmp]#catnext.pl  #!/usr/bin/Perl-w  @array=("a","b","c","d","e","f");  foreach(@array){  if($_ge"c"){  last;##跳出循環(huán)  }  for($i=1;$i<7;$i++){  if(($i%2)==1){  next;##進行下一次循環(huán)  }  print"$_"x"$i";  print"\n";  }  }  print"\nDone!\n";

注:當外層循環(huán)變量大于等于“c”時,就跳出外層循環(huán),代碼執(zhí)行完畢:內(nèi)層循環(huán)中,當循環(huán)變量是奇數(shù)時,就不執(zhí)行打印操作,而執(zhí)行下一次循環(huán)。這樣就是下面的結(jié)果。

[root@test-linuxtmp]#./next.pl
aa
aaaa
aaaaaa
bb
bbbb
bbbbbb
Done!

看完上述內(nèi)容,你們掌握Perl中如何使用流程控制語句的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI