В цикле for переменная цикла находится в области видимости.Таким образом, команда
$x=17; for $x (1..2) { say $x } say $x;
приводит к тому, что $x
восстанавливается к исходному значению после выхода из цикла:
1
2
17
Неявная переменная $_
не делает исключения: выполучить тот же результат от команды
$_=17; say for (1..2); say;