Добавление индекса после каждого вызова push () - PullRequest
1 голос
/ 16 февраля 2011

Я использую Perl push в массиве, но каждый раз, когда я помещаю что-то в массив, он также увеличивает индекс элемента. Я выполняю одно и то же действие одновременно с двумя массивами, и один выдвигается, как ожидалось, а другой - нет.
Что может быть причиной этого необъяснимого поведения?

if ($var->{color} == 1) {
    push @x, $var->{variable}.'-l';  
    push @y, $var->{variable}.'-p';
}
else {
    push @x, '__',
    push @y, '__',
}

y имеет данные, как ожидалось, но x не имеет.

1 Ответ

4 голосов
/ 16 февраля 2011

Вы хотите точки с запятой, а не запятые здесь:

push @x, '__';
push @y, '__';
...