Perldocs говорят о last
следующее:
last
нельзя использовать для выхода из блока, который возвращает значение, такое какeval {}
,sub {}
илиdo {}
и не должны использоваться для выхода из операции grep() или map().
Почему следуетизбегать этого в grep()или map()? Меня особенно интересует map, так как это альтернатива конструкции foreach. Документы, похоже, настаивают на том, чтобы ничего не делать без описания последствий.