在Perl中循环

时间:2011-06-23 13:53:27

标签: perl

  

可能重复:
  for loop in perl

use warnings;

my @a = (1, 2, 3, 4, 5);

for $x (@a)
{
    print $x*=2;
    print "\n";
}

print "outside the loop \n";
print "@a";

键盘链接:http://codepad.org/D2Aa74nZ

$x上的任何操作都会改变原始数组的内容。 $x表现得像引用/指针而不是变量吗?

2 个答案:

答案 0 :(得分:11)

这是"Foreach Loops" in perlsyn中记录的行为。循环变量别名到循环的列表中的每个元素。它不像Perl引用,但它有点像指针,如果你认为每个 Perl变量实际上是一个将名称与一段数据相关联的指针,并且可以通过以下方式找到一条数据:多个名称 - 例如$x$a[0] - 同时。

答案 1 :(得分:3)

是的,循环变量是循环数组内容的别名,可用于更改它。这使您可以执行$_ += 1 for @numbers;等内容。

有关Foreach循环的部分perldoc perlsyn中记录了此功能。