- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Я в Perl не силён. Но вроде, ошибка не должна быть сложной для исправления.
При попытке сохранить данные через админку одного сайта, вываливается вот такая ошибочка...
В строке 111 вот такой код:
Подскажите, пожалуйста, что за косяк? Прикол в том, что недавно всё работало и без проблем. А потом, раз и перестало). На сайте в коде ничего никто не правил. Может хостер что-то в настройках сервера мог изменить. Но что могло так повлиять, не пойму.
Вылезаете за границы массива.
Проверьте, сколько в нём элементов, и чему при этом равно $op->[1]*2
Так же, возможно, не существует $op->[1]
]Вылезаете за границы массива.
Подскажите, а как-то помягче можно настроить Perl, чтобы не ругался так фатально? А то, страницу сразу вырубает, чуть ли не 500-я). Помню из детства, что какие-то настройки повышают строгость перла к ошибкам...
Совсем недавно такой ошибки же не было на сайте(.
Совсем недавно такой ошибки же не было на сайте(.
Видимо, до этого функциям скарьливались другие массивы.
Тут вам поможет проверка значений и обработка исключений.
ты хочешь удалить с массива @{$self->{stack} -2094586600 элементов, которых скорее всего нету...
может такое условие поможет:
...скорее всего вы что-то напутали... может быть конфиг или что-то еще... за грани массива вылазите...
rtyug,
Тут где-то ошибочка со скобкой, похоже. 500-ю сервер даёт.
($op->[1]*2);
в самый вверх можешь добавить:
rtyug,
там в коде вверху уже вызывается. Или ваш тоже добавить?
DyaDya добавил 15.09.2010 в 16:23
И на вашу строчку
сразу ругается так:
Undefined subroutine AIPM::Method::
at /perllib//FlyNet/Template.pm line 137
В 137-й строке:
DyaDya добавил 15.09.2010 в 16:31
И я что-то не пойму, почему второй параметр в splice, с минусом? Так можно?
тогда верните обратно...
скорее всего вы что-то перепутали когда переносили (конфиг ит.д.)... или в админке что-то перепутали... и по этому массив маленький или пустой... и т.д.
можете попробовать, так ради интереса, добавить посмотреть что внутри в $self->{stack};:
вообще, надо смотреть....
rtyug добавил 15.09.2010 в 16:38
а сайт вообще рабоатет?
сайт работает)
DyaDya добавил 15.09.2010 в 16:42
Там ниже строки с ошибкой, есть код типа
if ($op->[1]) {
# @arg = reverse splice(@{$self->{stack}}, -($op->[1]*2)) if $self->{stack}->[-1] > ($op->[1]*2);
@arg = reverse splice(@{$self->{stack}}, -($op->[1]*2));
}
if ($op->[2]) {
push(@arg, "goto", $op->[2]);
}
while (my ($k, $v) = splice(@arg, 0, 2)) {
if (exists($arg{$k}) && !ref($arg{$k})) {
$arg{$k} = [$arg{$k}];
unshift(@{$arg{$k}}, $v);
} elsif (!exists($arg{$k})) {
$arg{$k} = $v;
} else {
unshift(@{$arg{$k}}, $v);
}
}
print STDERR "$self->{ip}:$sub($op->[1])\n" if $DOP;
push(@{$self->{stack}}, $self->{meth}->$sub($self, \%arg));
Так я перед строкой с ошибкой сделал return и вроде всё нормально пока работает). Косяков пока не видно. Нафиг он тогда там был нужен? Хотя на вид, что-то умное написано.
DyaDya добавил 15.09.2010 в 17:27
Не, пришлось вернуть комменты). А то меню на сайте пропадало).
Я думаю, лучше посмотреть не в /perllib//FlyNet/Template.pm, а на тот код, который эту либу использует. Наверняка там собака порылась.