前端之家收集整理的这篇文章主要介绍了
为什么Perl foreach变量赋值修改数组中的值?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,我有以下
代码:
use strict;
my @ar = (1,2,3);
foreach my $a (@ar)
{
$a = $a + 1;
}
print join ",",@ar;
和输出?
2,3,4
有没有搞错?为什么这么做?这会永远发生吗?是$a不是一个本地变量?他们在想什么?
Perl有很多这些几乎奇怪的语法,大大简化了常见的任务(比如迭代列表,以某种方式改变
内容),但是如果你不知道这些任务的话可以帮助你.
$a被别名为数组中的值 – 这允许您修改循环内的数组.如果你不想这样做,不要修改$a.
原文链接:https://www.f2er.com/Perl/172794.html