亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

watak

第七章 控制結(jié)構(gòu)

by flamephoenix

?

一、條件判斷
二、循環(huán):
??1、while循環(huán)
??2、until循環(huán)
??3、for循環(huán)
??4、針對列表(數(shù)組)每個元素的foreach循環(huán)
? 5、do循環(huán)
??6、循環(huán)控制
??7、傳統(tǒng)的goto語句
三、單行條件


一、條件判斷
??if ( <expression>) {
????<statement_block_1>
??}
??elsif ( <expression> ) {
????<statement_block_2>
??}
??...
??else{
????<statement_block_3>
??}
二、循環(huán):
1、while循環(huán)
??while ( <expression> ) {
????<statement_block>
??}
2、until循環(huán)
??until ( <expression> ) {
????<statement_block>
??}
3、類C的for循環(huán) ,如
??for ($count=1; $count <= 5; $count++) {
????# statements inside the loop go here
??}
下面是在for循環(huán)中使用逗號操作符的例子:
??for ($line = <STDIN>, $count = 1; $count <= 3;?? $line = <STDIN>, $count++) {
????print ($line);
??}
它等價于下列語句:
??$line = <STDIN>;
??$count = 1;
??while ($count <= 3) {
????print ($line);
????$line = <STDIN>;
????$count++;
??}
4、針對列表(數(shù)組)每個元素的循環(huán):foreach,語法為:
??foreach localvar (listexpr) {
????statement_block;
??}
例:
??foreach $word (@words) {
????if ($word eq "the") {
??????print ("found the word 'the'\n");
????}
??}
注:
(1)此處的循環(huán)變量localvar是個局部變量,如果在此之前它已有值,則循環(huán)后仍恢復(fù)該值。
(2)在循環(huán)中改變局部變量,相應(yīng)的數(shù)組變量也會改變,如:
??@list = (1, 2, 3, 4, 5);
??foreach $temp (@list) {
????if ($temp == 2) {
??????$temp = 20;
????}
??}
此時@list已變成了(1, 20, 3, 4, 5)。
5、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í)行下一個循環(huán)為next,與C中的continue作用相同;PERL特有的一個命令是redo,其含義是重復(fù)此次循環(huán),即循環(huán)變量不變,回到循環(huán)起始點,但要注意,redo命令在do循環(huán)中不起作用。
7、傳統(tǒng)的goto label;語句。

三、單行條件
??語法為statement keyword condexpr。其中keyword可為if、unless、while或until,如:
????print ("This is zero.\n") if ($var == 0);
????print ("This is zero.\n") unless ($var != 0);
????print ("Not zero yet.\n") while ($var-- > 0);
????print ("Not zero yet.\n") until ($var-- == 0);
??雖然條件判斷寫在后面,但卻是先執(zhí)行的。

Artikel sebelumnya: Artikel seterusnya: