跳到主要内容

12、Perl 循环语句

任何编程语言都有三种执行结构,即顺序结构,条件结构和循环结构。

默认情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推 但有的时候,我们可能需要多次执行同一块代码。这就用到了循环结构

循环结构允许我们多次执行一个语句或语句组

下面是大多数编程语言中循环语句的流程图

 

循环语句中的真假值

1、 数字0,字符串'0'、"",空list(),和undef为false
2、 其他值均为true
3、 true前面使用**!not**则返回false;

下面是 Perl 语言提供的循环类型

循环类型 描述
while 循环 当给定条件为 true 时,重复执行语句或语句组
until 循环 重复执行语句或语句组,直到给定的条件为 true
for 循环 多次执行一个语句序列,简化管理循环变量的代码
foreach 循环 foreach 循环用于迭代一个列表或集合变量的值
do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似
嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环

循环控制语句

循环控制语句改变了代码的执行顺序,通过它你可以实现代码的跳转。

下面是Perl 提供的循环控制语句

控制语句 描述
next 语句 停止执行从next语句的下一语句开始到循环体结束标识符之间的语句
然后再返回到循环体的起始处开始执行下一次循环
last 语句 退出循环语句块,从而结束循环
continue 语句 continue 语句块通常在条件语句再次判断前执行
redo 语句 redo 语句直接转到循环体的第一行开始重复执行本次循环
goto 语句 Perl 有三种 goto 形式:got LABLE,goto EXPR,和 goto &NAME

无限循环

如果条件永远不为 false,则循环将变成无限循环

一般情况下,Perl 程序员偏向于使用 for(;;) 结构来表示一个无限循环

因为构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环

#!/usr/bin/perl

=pod

  file: mail.pl
  author: DDKK.COM 弟弟快看,程序员编程资料站(www.ddkk.com)

  Copyright © 2015-2065 www.ddkk.com. All rights reserved.

=cut

for(;;)
{
   printf "循环会无限执行。\n";
}

你可以按下 Ctrl + C 键来终止循环。

当条件表达式不存在时,它被假设为 true,当然我们也可以设置一个初始值和增量表达式