Возможно, вы хотите выполнить поиск "perl замыканий".
Существует множество причин, по которым вы хотите вернуть ссылку на код, но я не могу ответить на этот вопрос в вопросе StackOverflow. Высший Порядок Марка Джейсона Доминуса Perl - это хороший способ расширить свой кругозор, и мы немного расскажем об этом в Промежуточное звено Perl.
Я написал File :: Find :: Closures , чтобы продемонстрировать это классом. Каждая подпрограмма в этом модуле возвращает две ссылки на код - одну для обратного вызова на File::Find
, а другую - для доступа к результатам. Они имеют общую переменную, к которой больше никто не может получить доступ.
Обратите внимание, что в вашем случае вы просто не вызываете подпрограмму, чтобы "получить ноль". Это делает другие вещи. Даже в вашем простом примере есть какой-то вывод. Затем некоторое поведение откладывается до тех пор, пока вы на самом деле не используете результат для чего-либо.
Сказав это, у нас нет шансов понять, почему это сделал программист, написавший ваш конкретный код. Одно правдоподобное предположение заключалось в том, что система была настроена для более сложных ситуаций, и вы смотрите на тривиальный пример, который в нее вписывается. Еще одним правдоподобным предположением было то, что программист только изучил эту функцию и влюбился в нее, а затем использовал ее повсюду в течение года. Всегда есть причина, но это не значит, что всегда есть веская причина.