Вы хотите это:
@numbers = (1,4,5,6,7,8,9);
foreach my $number (@numbers)
{
print ("$number\n");
}
С помощью {1,4,5,6,7,8,9}
вы фактически создаете ссылку на анонимный хеш, содержащий пары ключ-значение (1 => 4, 5 => 6, 7 => 8, 9 => undef)
. Когда вы пишете @numbers = {1,4,5,6,7,8,9};
, эта ссылка становится единственным скаляром, хранящимся в массиве @numbers
.
Кроме того, если вы просто хотите перебрать элементы, вам не нужно использовать «классический» стиль со счетчиком.
Вы можете сделать:
for my $number (1 .. 9) {
print "$number\n";
}
Убедитесь, что у вас есть use strict;
и use warnings;
в начале каждого сценария Perl, который вы пишете. Эти директивы позволяют perl
отлавливать ошибки и предупреждать о возможном ошибочном коде. Как новичок, вы можете объединить тех, кто warnings
с диагностикой , чтобы получить более подробную информацию.
Это очень удобно, особенно когда вы начинаете с Perl, поскольку они помогают вам избежать попадания в ногу.