perl 第13弹 循环
Posted 流浪骆驼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 第13弹 循环相关的知识,希望对你有一定的参考价值。
上期回顾
上期说到perl的判断,if elseif unless 等判断语句。
循环
咬尾蛇,Uroboros,即北欧神话中的盘绕世界的巨蛇,邪神洛基之子,由于邪神洛基也害怕其的力量,就把它安置于大海之中。然而由于它实在太大了,大到了环绕地球一圈能碰到自己的尾巴,无奈只能咬着自己的尾巴过活,而这样是永无止境的……
故,咬尾蛇,意味着无限循环
perl中也一样有循环用来处理各种反复执行的情况。Larry Wall为我们提供了四种循环结构:
for
foreach
while
until
(1) for 循环
for 循环语句类似于C 语言里的for 循环。
for (Expression1; Expression2; Expression3){
#Expression1 : 负责设定变量的初始值
#Expression2: 用于判断循环能否继续下去
#Expression3:负责更新循环变量的值
Block;
}
# 示例:
for ($i=0; $i<10; $i++){
print "$i ";
}
print " Out of the loop. ";
__END__
(output)
0 1 2 3 4 5 6 7 8 9
Out of the loop.
注意:可以省略其中任何一个或所有三个表达式,但不能省略那两个分号!
(2) foreach 循环
foreach 循环能对括号中列表(数组)里的每个元素进行迭代,并为数组中的每个元素逐一赋值,直到列表的末尾。
foreach VARIABLE (ARRAY){
BLOCK;
}
foreach my $friend('卡卡罗特', '贝吉塔', '弗利萨', '撒旦') {
print "Hi $friend! ";
}
__END__
(output)
Hi 卡卡罗特!
Hi 贝吉塔!
Hi 弗利萨!
Hi 撒旦!
(3) while循环
如果while 之后的表达式为真,while 循环便会反复执行与之关联的代码块。
while(Expression) {
Block;
}
my $num=0; # 初始化$num
while ($num < 10){
print "$num ";
$num ++; # 更新$num, $num 递增,增量为1
}
print " Out of the loop. ";
__END__
(output)
0 1 2 3 4 5 6 7 8 9
Out of the loop.
(4)until 循环
只要until 后面的条件表达式值为假或0,until 结构就会反复执行代码块。只有当表达式值为真(非0)时才退出循环。(不常用)
until (Expression) {
Block;
}
my $num=0; # 初始化$num
until($num == 10){
print "$num ";
$num ++; # 更新$num, $num 递增,增量为1
}
print " Out of the loop. ";
__END__
(output)
0 1 2 3 4 5 6 7 8 9
Out of the loop.
总结
perl 中四种循环结构 for、foreach、while、until
以上是关于perl 第13弹 循环的主要内容,如果未能解决你的问题,请参考以下文章