Поскольку сумма обоих списков уже здесь, вот как можно суммировать списки по элементам:
my @sums = map {$array1[$_] + $array2[$_]} 0 .. $#array1;
Предполагается, что списки имеют одинаковую длину.
Этот код использует функцию map
, которая применяет свой блок к списку и генерирует новый список из возвращаемого значения блока. Показанный блок добавит элементы из каждого массива с индексом $_
. $_
устанавливается map
для значений, переданных в списке. $#array1
- это индекс последнего элемента, в данном случае 2. Это делает список переданным в карту (0, 1, 2)
.