【发布时间】:2017-05-26 02:20:29
【问题描述】:
我刚开始学习 Perl,偶然发现了一个我无法通过谷歌搜索或阅读我正在学习的书来解决的错误。
我的代码如下所示:
use strict;
use warnings;
my @array = (1, 2, 10);
foreach my $i (@array) {
print $array[$i-1];
}
如果我有一个仅由一位数组成的数组,这很有效。一旦 foreach 循环达到两位数(在本例中为 10),我就会收到警告说 “在 ... 中使用未初始化的值” 并且循环停止。如果我尝试对数字做任何事情(加法等),也会发生同样的情况,它适用于个位数,但会停止在两位数上。
我现在无法理解这里发生了什么——我猜这与 Perl 存储数组元素的方式有关,但我找不到任何东西,也不知道要搜索什么.
谁能指出我正确的方向?
【问题讨论】: