Я инициализирую список с бесконечностями для алгоритма. Написание $x = 9**9**9 кажется неинтуитивным, а также, возможно, я захочу использовать BigInt в будущем. 1/0 выдает сообщение об ошибке.
Другие специальные строки включают +inf, -inf, nan. Конечно, это также работает с bignum или bigint прагмами. Однако эти прагмы экспортируют эквивалентные функции inf и nan, чтобы вы могли использовать простые слова.
Изменить
Как отметил @ikegami, похоже, что нет портативного способа выполнения истинных бесконечностей без модуля. Я просто пробрался через этот интересный поток perlmonks, но он не становится менее запутанным. Возможно, лучшим решением было бы принять штраф за производительность и use big{num,int,rat} с самого начала, но использовать no big{num,int,rat} в областях, где они не требуются.
Ответ 2
Я использовал bigrat для этого. Трудно сказать, какие функции -E разрешает.
use bigrat;
use feature qw(say);
say inf + inf;
say 9**99 / -inf(); #Perl doesn't always like "-inf" by itself
use bigrat; существует долгое время, поэтому он должен быть довольно портативным.