Проблема с использованием map
или grep
в пустом контексте носит в основном концептуальный характер. Оба являются конструкциями, работа которых заключается в возвращении списка. Отказ от этого списка приводит к запутанному коду, неясно о концепции listops. Я никогда не использую ни одного из них в пустом контексте.
То же самое чувствую и к троичному условному оператору. Его задача - возвращать значение, поэтому использование его в пустом контексте не имеет смысла и просто сбивает с толку людей.
Тем не менее, я бы не стал вкладывать слишком много акций в Perl::Critic
или даже в PBP. Я думаю, что лучше, если книга существует, чем то, чего не существует, но люди слишком часто неправильно понимают всю суть и заканчивают тем, что используют ее как дубинку.