$_
получит каждое различное значение @_
на каждую итерацию foreach , а оператор ++
запишет значения .
Так что-то вроде этого будет работать:
foreach (@_) {$_++;}
Примечание: $_++
эквивалентно $_ = $_ + 1
$_
и @_
являются специальными переменными в perl, и они имеют специальное поведение, в этом случае $_
в контексте цикла foreach принимает текущее значение на каждой итерации.
Специальные переменные являются одной из сложных и мощных частей Perl. Вы можете получить дополнительную информацию о том, как они работают, в специальной документации .
Другое дело, что вы не должны использовать специальную переменную в качестве цели foreach
, поскольку они, скорее всего, не будут работать должным образом (см. Также foreach документация )