Perl 简明教程

Perl - Loops

您可能需要执行一段代码块多次。通常,语句按顺序执行:函数中的第一个语句先执行,然后是第二个,依此类推。

编程语言提供了各种控制结构,允许执行更复杂的路径。

循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式 −

loop architecture

Perl 编程语言提供了以下类型的循环来处理循环要求。

Sr.No.

Loop Type & Description

1

@ {s4}重复语句或一组语句,同时给定的条件为真。它在执行循环体之前测试条件。

2

@ {s5}重复一个语句或一组语句,直到给定的条件变为真。它在执行循环体之前测试条件。

3

@ {s6}执行一系列语句多次,并缩写管理循环变量的代码。

4

@ {s7} foreach 循环迭代一个常规列表值,并将变量 VAR 设置为列表中的每个元素。

5

@ {s8}像一个 while 语句,不同之处在于它在循环体结束时测试条件

6

@ {s9}你可以在任何另一个 while、for 或 do..while 循环中使用一个或多个循环。

Loop Control Statements

循环控制语句会更改从其正常序列执行。当执行离开作用域时,在该作用域中创建的所有自动对象都会被销毁。

Perl 支持以下控制语句。单击以下链接查看它们的详细信息。

Sr.No.

Control Statement & Description

1

@ {s10}使循环跳过其主体的其余部分,并在重新迭代之前立即重新测试其条件。

2

last statement 终止循环语句并执行紧跟循环之后的语句。

3

continue statement 一个 continue BLOCK,它通常在条件再次被评估之前被执行。

4

redo statement redo 命令重新启动循环块,而不会再次评估条件。continue 块(如果存在)将不会被执行。

5

goto statement Perl 支持具有三种形式的 goto 命令:goto 标签、goto expr 和 goto &name。

The Infinite Loop

如果一个条件从未变为 false,则循环将成为无限循环。 for 循环传统上用于此目的。由于构成 for 循环的三个表达式都不必要,因此您可以通过让条件表达式为空来创建无限循环。

#!/usr/local/bin/perl

for( ; ; ) {
   printf "This loop will run forever.\n";
}

您可以按 Ctrl + C 键来终止上述无限循环。

当条件表达式不存在时,假定它是 true。您可能有一个初始化和增量表达式,但作为程序员更常见的是使用 for (;;) 结构来表示一个无限循环。