詳解Perl控制結(jié)構(gòu)用法
本文和大家重點(diǎn)討論一下Perl控制結(jié)構(gòu)的用法,主要包括條件判斷,循環(huán)和單行條件等內(nèi)容,相信通過本文的學(xué)習(xí)你對(duì)Perl控制結(jié)構(gòu)的用法有深刻的認(rèn)識(shí)。
Perl控制結(jié)構(gòu)
一、Perl控制結(jié)構(gòu)之條件判斷
if(){
}
elsif(){
}
...
else{
}
二、Perl控制結(jié)構(gòu)之循環(huán):
1、while循環(huán)
while(){
}
2、until循環(huán)
until(){
}
3、類C的for循環(huán),如
for($count=1;$count<=5;$count++){
#statementsinsidetheloopgohere
}
下面是在for循環(huán)中使用逗號(hào)操作符的例子:
for($line=,$count=1;$count<=3;$line=,$count++){
print($line);
}
它等價(jià)于下列語句:
$line=; $count=1; while($count<=3){ print($line); $line=; $count++; }
4、針對(duì)列表(數(shù)組)每個(gè)元素的循環(huán):foreach,語法為:
foreachlocalvar(listexpr){
statement_block;
}
例:
foreach$word(@words){ if($wordeq"the"){ print("foundtheword'the'\n"); } }
注:
(1)此處的循環(huán)變量localvar是個(gè)局部變量,如果在此之前它已有值,則循環(huán)后仍恢復(fù)該值。
(2)在循環(huán)中改變局部變量,相應(yīng)的數(shù)組變量也會(huì)改變,如:
@list=(1,2,3,4,5); foreach$temp(@list){ if($temp==2){ $temp=20; } }
此時(shí)@list已變成了(1,20,3,4,5)。
5、Perl控制結(jié)構(gòu)之do循環(huán)
do{
statement_block
}while_or_until(condexpr);
do循環(huán)至少執(zhí)行一次循環(huán)。
6、循環(huán)控制
退出循環(huán)為last,與C中的break作用相同;執(zhí)行下一個(gè)循環(huán)為next,與C中的continue作用相同;PERL特有的一個(gè)命令是redo,其含義是重復(fù)此次循環(huán),即循環(huán)變量不變,回到循環(huán)起始點(diǎn),但要注意,redo命令在do循環(huán)中不起作用。
7、傳統(tǒng)的gotolabel;語句。
三、Perl控制結(jié)構(gòu)之單行條件
語法為statementkeywordcondexpr。其中keyword可為if、unless、while或until,如:
print("Thisiszero.\n")if($var==0); print("Thisiszero.\n")unless($var!=0); print("Notzeroyet.\n")while($var-->0); print("Notzeroyet.\n")until($var--==0);
雖然條件判斷寫在后面,但卻是先執(zhí)行的。
【編輯推薦】
- 解析Perl控制結(jié)構(gòu)用法
- Perl文件句柄概念詳解
- 解析四大Perl操作符用法
- 專家推薦 幾款常用Perl開發(fā)工具
- 學(xué)習(xí)筆記 Perl數(shù)字與字符串間的自動(dòng)轉(zhuǎn)換