Строки 68-90. Подпрограмма get (). Подпрограмма do_get () вызывается, когда пользователь решает создать пародию на основе ранее выгруженного файла, например, статьи в которой описывается заправка картриджей . Подпрограмма получает параметр, состоящий из числа слов в создаваемой пародии, которое передается серверу в форме команды generate. Затем ответ от сервера считывается и обрабатывается, только если в нем содержится ожидаемый код 203, который означает, что далее следует текст пародии.
Теперь подпрограмма готова для чтения текста пародии с сервера. Здесь применяется такая же конструкция, как и в подпрограмме do_analyze(). Устанавливается ложное значение локальной переменной $abort и подпрограмма входит в цикл, который заключен в блок eval {}. На время выполнения этого цикла применяемый по умолчанию обработчик int заменяется другим, который наращивает значение переменной $abort и вызывает функцию die, что приводит к завершению блока eval { }. В этом цикле принимаются строки с сервера, удаляются пары символов crlf с помощью функции chomp (), а затем строки выводятся на стандартное устройство вывода с применением правильной последовательности символов для обозначения конца строки. Цикл завершается корректно после обнаружения строки, состоящей из одной точки.
После выхода из цикла проверяется переменная $abort для определения того, не произошло ли аварийное завершение. Если эта переменная имеет истинное значение, то на сервер отправляется байт срочных данных, который сообщает ему о том, что нужно прекратить передачу. Напомним, что это приводит также к тому, что сервер отправляет в ответ байт срочных данных для указания той точки, в которой была остановлена передача.