Сегодня в рассылке итальянских Perl-монгеров появилось вот такое письмо (оригинал требует регистрации):
Scusate la domanda stupida che mi permetto di fare a voi esperti. Sto studiando
il PERL per l'applicazione OTRS. Ho notato che molti moduli finiscono con un
'1;' Ha un significato ben preciso? Una label? Un return-code? Ho provato a cercare, ma purtroppo con scarso successo! Grazie dell'aiuto.Простите за глупый вопрос, который я хотел бы задать вам экспертам. Я изучаю Perl по приложению OTRS. Заметил, что многие модули заканчиваются на '1;'. Это имеет какой-то смысл? Метка? Код возврата? Я попробовал поискать, но, к сожалению, неудачно! Спасибо за помощь.
Несколько человек сразу же с радостью ответили на вопрос. Меня же этот пост заинтересовал в первую очередь тем, что в нем затронут хитрый момент, который важно объяснить начинающим.
Про эту единицу я спрашивал старшего коллегу десять лет назад — когда впервые ее увидел, было совершенно непонятно, зачем она нужна. (Впрочем, сейчас, когда понятны требования языка, становится понятно, что true после загрузки модуля в общем-то не нужен.)
1; — то, про что обязательно нужно писать в книгах для начинающих отдельным абзацем.
Разумеется, допустимо возвращать не только единицу, а любое число, преобразующееся в true. Необычные варианты собраны на странице returnvalues.useperl.at/values.html. Самое частое значение — 42 :-)
Комментировать