DyaDya

DyaDya
Рейтинг
147
Регистрация
11.04.2007

rtyug, в принципе, может ваш код как-то можно доправить???

Просто когда его размещаю, то вот такая ошибка. Хотя не понятно почему.

Undefined subroutine AIPM::Method::

at /bhome/part1/01/aipm/perllib//FlyNet/Template.pm line 137

Может в этой строке 137 тоже стоит доппроверку сделать на существование функции?

137 push(@{$self->{stack}}, $self->{meth}->$sub($self, \%arg));

сайт работает)

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

Не, пришлось вернуть комменты). А то меню на сайте пропадало).

rtyug,

use Carp;

там в коде вверху уже вызывается. Или ваш тоже добавить?

DyaDya добавил 15.09.2010 в 16:23

И на вашу строчку

@arg = reverse splice(@{$self->{stack}}, -($op->[1]*2)) if $self->{stack}->[-1] > ($op->[1]*2);

сразу ругается так:


Undefined subroutine AIPM::Method::
at /perllib//FlyNet/Template.pm line 137

В 137-й строке:

137 push(@{$self->{stack}}, $self->{meth}->$sub($self, \%arg));

DyaDya добавил 15.09.2010 в 16:31

И я что-то не пойму, почему второй параметр в splice, с минусом? Так можно?

rtyug,

@arg = reverse splice(@{$self->{stack}}, -($op->[1]*2)) if $self->{stack}->[-1] > $op->[1]*2);

Тут где-то ошибочка со скобкой, похоже. 500-ю сервер даёт.

[umka:
]Вылезаете за границы массива.

Подскажите, а как-то помягче можно настроить Perl, чтобы не ругался так фатально? А то, страницу сразу вырубает, чуть ли не 500-я). Помню из детства, что какие-то настройки повышают строгость перла к ошибкам...

Совсем недавно такой ошибки же не было на сайте(.

Я уже писал по этому поводу статейку: Вирус на сайте? Как его найти и удалить

Там же и скриптик на PHP, который позволит найти все страницы с заражением. Если прогер, то думаю, разберётесь.

В 95% выручает. Но бывают заражения более извращённые, тогда уже нужно головой думать.

Совсем недавно попёрли вирусы, который уже и js файлы стали заражать! Раньше такого не попадалось(.

<!--WEB-->:
Представители этой породы безусловно уверены, что их миссия - восстановление справедливости, повсюду, где они заподозрят что-то иное.

Ну почему сразу так круто). Я лишь дал информацию, а решения пусть принимают другие.

DyaDya добавил 15.09.2010 в 15:08

<!--WEB-->:
все, что они делают - благо по определению

Если бы я так думал, то давно бы уже выложил контакты прогера).

Оки, буду пробовать... Посмотрю, что сработает.

Я правильно понимаю, что это нужно прямо в админке вставлять в макете шаблона?

В задачке не всё так просто и однозначно. Сейчас масса расспределана.

Берём формулу:

SAlex:
Fт=GMm/R2

Предположим, мы не знаем массу. Но знаем силу на поверхности, радиус Земли, константу G и массу блохи (а кстати, сколько она?).

Далее, внимание, вычисляем массу Земли!!! Тогда мы получим её массу для модели, что она вся сосредоточена в точке на растоянии от нас 6000 км.

Затем, зная эту новую массу!!! По этой же формуле вычисляем силу притяжения действующую на блоху, находящуюся на расстоянии от неё 2 см!

Попробуем? И сравним потом с нашим первоначальным предположением.

Ну, по крайней мере так будет ваще правильнее считать). Хоть и дольше))).

А кто-нидь знает силу прыжка блохи? Это нужно как-то её сравнить с силой притяжения...

ps. Пойду учить матчасть)

Интересно, а лежачих милицейских нужно будет называть лежачими полицейскими?

Всего: 2917