一个循环可以嵌套在另一个循环中, Perl允许嵌套所有要嵌套的循环。
nested loops - 语法
Perl中嵌套for循环语句的语法如下-
for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); }
Perl中嵌套while循环语句的语法如下-
while(condition) { while(condition) { statement(s); } statement(s); }
Perl中嵌套do...while循环语句的语法如下-
do{ statement(s); do{ statement(s); }while( condition );}while( condition );
Perl中嵌套直到循环语句的语法如下:
until(condition) { until(condition) { statement(s); } statement(s); }
Perl中嵌套的foreach循环语句的语法如下-
foreach $a (@listA) { foreach $b (@listB) { statement(s); } statement(s); }
nested loops - 示例
以下程序使用嵌套的 while 循环显示用法-
#/usr/local/bin/perlb=0;
# outer while loop while(a </span><span class="pun"><</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> b=0; # inner while loop while( b </span><span class="pun"><</span><span class="pln"> </span><span class="lit">3</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"value of a=a, b=b=b </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> a=a\n\n"; }
这将产生以下输出-
value of a=0, b=0 value of a=0, b=1 value of a=0, b=2 Value of a=1 value of a=1, b=0 value of a=1, b=1 value of a=1, b=2 Value of a=2 value of a=2, b=0 value of a=2, b=1 value of a=2, b=2 Value of a=3