Часть задач, опубликованных на сайте Project Euler, удобно решать с помощью перла.
Некоторые задачи — исключительно математические, а некоторые требуют посимвольной обработки чисел или строк.
Например, задача на поиск чисел-палиндромов, то есть чисел вида 78987. С одной стороны, они представимы в виде суммы 7·104 + 8·103 + 9·102 + 8·101 + 7·100, но с другой — это последовательность символов, которые легко преобразовать в массив односимвольных элементов:
my @digits = split //, $number;
В задаче, где предлагается отсыкать максимальное произведение пяти последовательных цифр в числе из 1000 цифр, это число также удобно рассматривать как строку, выделяя ее часть встроенной функцией substr:
$product *= $_ for split //, substr $n, $c, 5;
Кроме того, некоторые задачи подразумевают большие числа — настолько большие, что размера стандартных переменных (например, long long в C++) недостаточно для их представления. Для работы с такими числами в перле удобно воспользоваться модулем Math::BigInt или прагмой bigint, после чего программа, вычисляющая сумму цифр факториала ста, становится тривиальной:
$i = $i->bmul($_) for 2..100;
. . .
$s += $_ for split //, $i;