Это просто особый случай в синтаксисе Perl. Если у вас есть defined(&identifier)
или defined &identifier
, он проверяет существование подпрограммы с именем identifier
, не вызывая ее, даже если &identifier
обычно вызывает подпрограмму.
defined &identifier()
, с другой стороны, вызывает вызов подпрограммы и затем проверяет ее возвращаемое значение. Парень после идентификатора делает его вызовом функции.