我刚开始学习Perl并偶然发现了一个错误,我无法通过谷歌搜索或阅读我正在学习的书来解决这个错误.
我的代码看起来像这样:
use strict;
use warnings;
my @array = (1, 2, 10);
foreach my $i (@array) {
print $array[$i-1];
}
Run Code Online (Sandbox Code Playgroud)
如果我的数组只包含一位数字,那么这种方法很有效.一旦foreach循环达到一个两位数的数字(在这种情况下为10),我会收到一条警告,说"在...中使用未初始化的值",循环停止.如果我尝试对数字做任何事情(添加等)也会发生同样的情况,它适用于单个数字,但会以两位数停止.
我现在无法理解这里发生的事情 - 我猜它与Perl存储数组元素的方式有关,但我找不到任何东西,也不知道要搜索什么.
谁能指出我正确的方向?