|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
Видел, что модули (packages) в Perl заканчиваются единичкой:
package MyPkg;
...
1;
но нигде не нашел, почему. Че это за единичка.
Подскажите, плз, куда смотреть.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| 1 = true. То есть это признак успешного включения модуля в программу.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
Погоди, погоди, то есть это я утверждаю, что модуль успешно включился в программу? Странно как-то. Не пойму я этой логики. С одной стороны я пишу use MyPkg; а с другой -- 1; да, все нормально, "модуль нормально включился в программу". То есть не нормально включиться в программу он не может.
Че я не понимаю?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Я не спец по Perl и могу только предполагать. Видимио есть ситуации когда модуль "может отказаться" от включения в программу из-за невыполнения каких-то условий. К примеру, отсутствие неких внешних данных необходимых для инициализации или работы данного модуля.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.06.2007 1:59
Сообщ.: 947,
Visits: 9 976
|
|
The require operator also has two additional features:
1....
2.... The last expression evaluated in the file must return a true value.
Because of the second point, most files evaluated for require have a cryptic 1; as their last line of code. This ensures that the last evaluated expression is in fact true. Try to carry on this tradition as well.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
| Great! Thank you very much!
|
|
|
|