По perldoc perlsub:
и является необязательным в современном Perl, как и круглые скобки, если подпрограмма была предварительно определена.
Я замечаю, что много раз люди используют тот факт, что вы можете опустить скобки при вызове подпрограмм Perl (например, случайное цитирование из недавнего ответа SO):
open my $fin, '<', $file;
столь же справедливо, как
open(my $fin, '<', $file);
Каковы основные (в идеале, технические) причины использования второй (без скобок) версии?
perldoc perlsyn ничего не говорит по этой теме, кроме как снова упоминает опциональность.
Для меня всегда использование круглых скобок в основном является стилистическим выбором из-за моего происхождения как разработчика C; но Я хотел бы знать, не хватает ли я чего-то, если не использовать необязательный синтаксис без кавычек в качестве разработчика Perl.
P.S. Я хорошо знаю причины, чтобы предпочесть версию с круглыми скобками - например. проблемы с опознаванием косвенных объектов или требование объявлять нестронные до того, как они будут использоваться без круглых скобок или проблемы с приоритетом visavi or
vs ||
. Меня интересует обратное.
P.P.S. Я не очень заинтересован в ответах, просто заявляя "это лучший стиль" / "более читаемый" без каких-либо исследований, поддерживающих мнение. Меня интересуют либо технические причины, чтобы предпочесть исключение в скобках, либо резервные копии стилистических отличительных предпочтений (просьба не путать "резервное копирование" с "призывом к власти" или "argumentum ad populum" Заблуждения. Исследование, показывающее улучшение скорости или понимания кода, является доказательством. "Все в коммьюнити Perl согласны" или "Дамиен Конвей предлагает это", не объясняя, как Дамиен это не поддерживает).