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