如何利用程序循环控制Perl脚本流程

时间:2007-09-22 10:58:51  来源:开发者  作者:佚名

也可以用for()循环重写阶乘的例子,如列表F所示:

列表F

#!/usr/bin/perl

# define variables

$fact = 1;

$num = 5;

# calculate and print the factorial

for ($x=5; $x>1; $x--) {

$fact = $fact * $x;

}

print $fact;

这个稍有不同,因为每次循环计数器变量不是递增,而是递减。这样就可以由5倒数至1,这时条件表达式为假,循环终止。$fact的结果值为5的阶乘。

Foreach循环

Foreach循环是一个有些特殊的循环——只有Perl的数组变量能够使用这个循环。该循环可以方便地重复数组的每一个元素,依次对它们进行处理。列表G是一个例子:

列表G

#!/usr/bin/perl

# define number array

@nums = (1..18);

# iterate through array elements

foreach $n (@nums) {

print "$n ";

}

这里,foreach()循环结构被提交给一个数组变量,在这个例子中它包含18个元素。循环每重复一次,当前选中的元素被分配给临时变量$n,并以某种方式进行处理(在本例中简单在终端打印)。循环继续进行,直到所有的数组元素按顺序处理完毕。

在处理数组时,foreach()循环要大大优于for()循环和while()循环,主要是因为它不需要一个计数器变量手工追踪它在数组中的位置;这个任务在内部进行处理,使这一循环在处理数组时简单而透明。

常用循环

这四个循环是Perl中最常用的循环——很少有脚本不会用到它们。希望上面的简短实例与说明能够帮助您了解它们,并开始在实际实践中加以应用。编码快乐!

文章评论

共有 位CH网友发表了评论 查看完整内容