zjzc01:/root/test# cat a3.pl sub mask { my $n=shift; my $j =100; for ($i = 1;$i <= 5;$i++){ print "$i is $i "; while ($n=$n+1) { $j++; print "$n is $n "; if ($n==10){print "$n---end is $n ";$n=0;last}; }} }; &mask(1); zjzc01:/root/test# perl a3.pl $i is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 $i is 2 $n is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 $i is 3 $n is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 $i is 4 $n is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 $i is 5 $n is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 last 是退出当前循环 zjzc01:/root/test# cat a3.pl sub mask { my $n=shift; my $j =100; for ($i = 1;$i <= 5;$i++){ print "$i is $i "; while ($n=$n+1) { $j++; print "$n is $n "; if ($n==10){print "$n---end is $n ";$n=0;return}; }} }; &mask(1); zjzc01:/root/test# perl a3.pl $i is 1 $n is 2 $n is 3 $n is 4 $n is 5 $n is 6 $n is 7 $n is 8 $n is 9 $n is 10 $n---end is 10 return是退出当前函数 退出循环是break return是退出函数并返回, 如果函数有返回值,可以将返回值返回