короче, вызов логгера принимает на вход аргументы. аргументом может являться субрутина/исполняемый блок, по типу какие принимают греп/мап/эни и т п. субрутина будет скомпилирована перлом по любому, но вызвана только при вызове логгера, который приняв аргумент и увидев, что это субрутина, вызовет её и получит аргументы для логгирования