您好,登錄后才能下訂單哦!
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è)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(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)容。