Результаты ожидаемые. Объявление my внутри цикла снижает скорость работы. Тупейший скрипт на сто миллионов итераций. Замедление с 14 до 19 секунд.
При этом объявление вида for my $a (@b){...} не замедляет работу, то есть my очевидно выполняется только один раз.