Perl redo 語(yǔ)句
Perl redo 語(yǔ)句直接轉(zhuǎn)到循環(huán)體的第一行開(kāi)始重復(fù)執(zhí)行本次循環(huán),redo語(yǔ)句之后的語(yǔ)句不再執(zhí)行,continue語(yǔ)句塊也不再執(zhí)行。
continue 語(yǔ)句可用在 while 和 foreach 循環(huán)中。
語(yǔ)法
語(yǔ)法格式如下所示:
redo [LABEL]
其中 LABEL 是可選的。
帶標(biāo)號(hào)修飾符LABEL的redo語(yǔ)句表示把循環(huán)控制流程直接轉(zhuǎn)到與標(biāo)號(hào)修飾符LABEL相關(guān)聯(lián)的語(yǔ)句塊的第一行處開(kāi)始執(zhí)行,而不再執(zhí)行redo語(yǔ)句之后的語(yǔ)句和continue語(yǔ)句塊;
不帶標(biāo)號(hào)修飾符LABEL的redo語(yǔ)句表示把循環(huán)控制流程直接轉(zhuǎn)到當(dāng)前語(yǔ)句塊的第一行處開(kāi)始執(zhí)行,而不再執(zhí)行redo語(yǔ)句之后的語(yǔ)句和continue語(yǔ)句塊;
如果是在for循環(huán)中或者是帶有continue語(yǔ)句塊,則for循環(huán)中的遞增列表和continue語(yǔ)句塊都不再被執(zhí)行;
流程圖
實(shí)例
#/usr/bin/perl $a = 0; while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print "a = $a\n"; }continue{ $a = $a + 1; }
執(zhí)行以上程序,輸出結(jié)果為:
a = 0 a = 1 a = 2 a = 3 a = 4 a = 6 a = 7 a = 8 a = 9
更多建議: