Программирование > Perl
perl+postgres, ошибка
arto:
максимум -- return в do не используется.
а так -- ошибок не видно.
Gekt0r:
я вывел в логи то, что хранится в массиве. Как правило это просто число (номер секции). В какой-то момент там появляется число в фигурных скобках (например, {1511}, и выскакивает ошибка. Я так предполагаю, что тут дело в формате записи массива в postgres и perl.
откуда только эти фигурные скобки берутся, пока непонятно :(
arto:
"число в фигурных скобках " -- \'{\'.join(\',\', $self->sections() ).\'}\' ?
Gekt0r:
как я понял, в некоторых случаях массив уже записан в фигурных скобках, т.е. фигурных скобок оказывается двое. Отсюда, вероятно, и ошибка "array must be one-dimensional"
сейчас пробую разобраться
Gekt0r:
Разобрался.
Глюк был в функции $self->sections(), соответственно, строчке
\'{\'.join(\',\', $self->sections() ).\'}\'
функция иногда возвращала данные в формате массива, с фигурными скобками, а иногда - просто как скаляр. Соответственно, когда возвращался массив, ему добавлялись еще одни фигурные скобки, откуда и возникала ошибка "array must be one-dimensional"
Исправил (:
Навигация
Перейти к полной версии