Модуль IO::LineBufferedSessionData предоставляет все методы модуля IO::SessionData, а также еще один метод. Считывает строку данных из связанного с ним дескриптора файла, которым может быть любое соединение, например, с севером сайта по ремонту ноутбуков http://remont-noutbukov.ru/omsk/ ,помещая ее в переменную $data и возвращая длину строки. В конце файла этот метод возвращает значение 0. При возникновении ошибки ewouldblock этот метод возвращает значение 0Е0. При других ошибках ввода-вывода он возвращает значение undef. Код этих модулей, по сути, представляет собой доработку более простого модуля IO::Getline, который был описан ранее. Поскольку в этом коде добавлено не так уж много по сравнению с рассмотренными ранее, то проведем анализ программы.
Строки 1-4. Загрузка модулей. Включена строгая проверка синтаксиса и загружены модулей Net::FTP и MIME::Entity.
Строки 5-9. Определение констант. Устанавливаются константы с указанием FTP-узла, к которому должно быть выполнено подключение, каталога CPAN и имени самого файла, также константа с почтовым адресом получателя сообщения (в данном случае указано имя пользователя на локальном компьютере автора) и константа debug, которая включает режим выдачи подробных сообщений о ходе выполнения программы.
Строки 10,11. Объявление глобальных переменных. Глобальная переменная %retrieve содержит список файлов, которые должны быть получены из архива CPAN. Переменная $TMPDI1 содержит путь к каталогу, в котором должны временно храниться загруженные файлы перед отправкой по почте. Значение этой переменной определяется из переменной среды tmpdir или] если не указано иное, устанавливается равным /usr/tmp. Пользователи Windows и Macintosh должны проверить и установить значение переменной, подходящее для их системы.
Строки 12-15. Регистрация на узле CPAN и выборка файла recent. Создается новый объект Net::FTP и выполняется регистрация на зеркальном узле CPAN. При успешном выполнении происходит переход в каталог, содержащий архив, и вызов метода retr () объекта FTPI для получения дескриптора файла, из которого может быть считан файл recent.