Вероятно, стоит также упомянуть, что Perl всегда расскажет вам, в какой строке возникает ошибка при выполнении сценария Perl из командной строки. (Например, сеанс SSH)
Я обычно делаю это, если все остальное не работает. Я буду использовать SSH на сервере и вручную выполнить скрипт Perl. Например:
% perl myscript.cgi
Если возникла проблема, Perl расскажет вам об этом. Этот метод отладки устраняет любые проблемы с разрешением файла или проблемы с веб-браузером или веб-сервером.
Ваша ошибка - это бесконечная рекурсия:
public double getDiscriminant() {
double discriminant = (b * 2) - (4 * a * c);
return getDiscriminant();
}
Эта функция вызывает себя бесконечно, пока стек не переполнится. Я полагаю, что вы хотели вместо этого вернуть переменную discriminant
?
То же самое для ваших функций getRoot1
, getRoot2
, getA
, getB
и getC
.