В листинге ниже будет приведен сценарий eliza_daemon.pl усовершенствованного сервера с ветвлением, в котором все эти методы собраны воедино. В этом коде нет никаких незнакомых конструкций, кроме того, что вместо размещения файла PID в стандартном каталоге /var/run, в этом примере применяется файл /var/tmp/eliza.pid. Каталог /var/run — привилегированный каталог, в который может записывать файлы только программа, выполняемая с привилегиями суперпользователя (пользователя root). Однако это могло бы привести к нарушению требований защиты, а эти вопросы пока не рассматриваются. По причинам, которые описаны в указанном разделе, не рекомендуется использовать процесс с правами пользователя root для записи в такой каталог (доступный ДШ записи любому пользователю), как /var/tmp, но вполне можно выполнять запись с правами непривилегированного пользователя. В этом сценарии внесено также исправление в подпрограмму Chatbot::Eliza::testquit (), описанное ранее.
Следует также отметить, что здесь приемный сокет создается перед вызовом подпрограммы become_daemon (). При помощи данного сокета можно будет выполнить подключение, например, к сайту по разработке логотипов для сайта или другой информацией. Это дает возможность в случае каких-либо нарушений вызвать функцию die с сообщением об ошибке, прежде чем в подпрограмм become_daemon () будет закрыто стандартное устройство вывода сообщения об ошибках. Далее также будет описано, как обеспечить регистрацию демонами ошибок в фай или воспользоваться для этого системой syslog.
Автоматический запуск сетевых серверов.
После того как сетевой сервер будет написан, проверен и отлажен, может потребоваться обеспечить его автоматическим запуском после каждой начальной загрузки компьютера. В UNIX это относительно просто для тех, кто изучил особенности этой операционной системы. Во время загрузки системы UNIX (и Linux) выполняется ряд сценариев командного интерпретатора.