詳解Perl控制結構用法
本文和大家重點討論一下Perl控制結構的用法,主要包括條件判斷,循環和單行條件等內容,相信通過本文的學習你對Perl控制結構的用法有深刻的認識。
Perl控制結構
一、Perl控制結構之條件判斷
if(){
}
elsif(){
}
...
else{
}
二、Perl控制結構之循環:
1、while循環
while(){
}
2、until循環
until(){
}
3、類C的for循環,如
for($count=1;$count<=5;$count++){
#statementsinsidetheloopgohere
}
下面是在for循環中使用逗號操作符的例子:
for($line=,$count=1;$count<=3;$line=,$count++){
print($line);
}
它等價于下列語句:
$line=; $count=1; while($count<=3){ print($line); $line=; $count++; }
4、針對列表(數組)每個元素的循環:foreach,語法為:
foreachlocalvar(listexpr){
statement_block;
}
例:
foreach$word(@words){ if($wordeq"the"){ print("foundtheword'the'\n"); } }
注:
(1)此處的循環變量localvar是個局部變量,如果在此之前它已有值,則循環后仍恢復該值。
(2)在循環中改變局部變量,相應的數組變量也會改變,如:
@list=(1,2,3,4,5); foreach$temp(@list){ if($temp==2){ $temp=20; } }
此時@list已變成了(1,20,3,4,5)。
5、Perl控制結構之do循環
do{
statement_block
}while_or_until(condexpr);
do循環至少執行一次循環。
6、循環控制
退出循環為last,與C中的break作用相同;執行下一個循環為next,與C中的continue作用相同;PERL特有的一個命令是redo,其含義是重復此次循環,即循環變量不變,回到循環起始點,但要注意,redo命令在do循環中不起作用。
7、傳統的gotolabel;語句。
三、Perl控制結構之單行條件
語法為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);
雖然條件判斷寫在后面,但卻是先執行的。
【編輯推薦】