Оператор foreach.
Этот оператор получает список значений и присваивает их по очереди скалярной переменной, выполняя с каждым последующим присваиванием блок кода
foreach $i (@список) { op_1; op_2; op_3; }
Замечание:Скалярная переменная $i - локальна для данного цикла.
Пример:
@a = qw(one two three four five); foreach $b (reverse @a) { print $b; }
Имя скалярной переменной можно опустить. В этом случае, Вы указали имя переменной $_.
@a = qw(one two three four five); foreach (reverse @a) { print ; }
Используемая в цикле скалярная переменная представляет собой псевдоним для каждой переменной списка, а не просто копию ее значения. Изменяя скалярную переменную Вы изменяете и конкретный элемент списка:
@a = (3, 5, 7, 9); foreach $one (@a) { $one *= 3; } # @one = (9, 15, 21, 27);