3) Объявление глобальных переменных. Первая строка определения глобальных переменных соответствует опциям командной строки. Вторая строка глобальных переменных представляет собой различные структуры данных, применяемые в сценарии. Хеш %Seen будет привязан к файлу DBM; его ключами являются идентификаторы сообщений для ранее полученных статей. Хеш %Articles содержит информацию о статьях, полученных во время текущего поиска. Его ключами являются идентификаторы сообщений, а значениями — ссылки на хеш полей заголовка, полученных из индекса краткого обзора. И наконец, параметр @Fields содержит список полей заголовка, возвращенных методом xover ().
4) Обработка параметров командной строки. Вызывается метод GetOptions () для обработки опций командной строки, а затем выполняется проверка допустимости параметров. Если имя получателя электронной почты не указано в командной строке, по умолчанию применяется регистрационное имя пользователя.
5) Создание соединения с сервером службы сетевых новостей. Открывается соединение с сервером службы сетевых новостей путем вызова метода Net::NNTP->new(). Если имя сервера не указано в командной строке, опция $server не определена и модуль Net::nntp выбирает подходящее значение по умолчанию.
6) Открытие файла DBM. Выполняется привязка хеша %Seen к файлу .newscache с использованием модуля AnyDBM_Filе. Опции, передаваемые функции tie (), обеспечивают открытие файла для чтения/записи, если он существует, и его создание с режимом доступа к файлу 0640 (-rw-r----), если он не существует.