Можно ли передать блок кода в подпрограмму с использованием синтаксиса "круглых скобок"?
Т.е. когда я пишу
List::MoreUtils::any { defined ($_) } (undef, undef, 1);
, это работает.Но когда я пытаюсь добавить скобки
List::MoreUtils::any ( { defined ($_) } , (undef, undef, 1) );
, это интерпретируется как анонимный хеш, выдающий сообщение об ошибке.Не помогает ни экранирование, ни использование eval.
Идея, лежащая в основе всей этой суеты, заключается в том, что вызов является частью выражения, т.е.вызов, выдающий нежелательный результат.