Perl: Почему нельзя использовать last для выхода из grep или map?

Perldocs говорят о lastследующее:

lastнельзя использовать для выхода из блока, который возвращает значение, такое как eval {}, sub {}или do {}и не должны использоваться для выхода из операции grep() или map().

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

18
задан vol7ron 20 March 2012 в 23:01
поделиться