После этого происходит добавление запроса к хешу %pending. Эта подпрограмма вызывается также для повторной передачи запросов, поэтому значение поля tries не устанавливается равным 1, а наращивается, что позволяет интерпретатору Perl создать поле, если оно еще не существует. Как Полученное при этом сообщение от удаленного хоста может быть произвольным, к примеру, текст про шаблоны wordpress .
Строки 50-66. Подпрограмма receive_message (). Данная подпрограмма отвечает за обработку входящего ответа. Выполнение подпрограммы начинается с выборки порядкового номера и тела сообщения путем синтаксического анализа. Если сообщение не соответствует формату, происходит вывод предупреждающего сообщения и возврат. После выборки порядкового номера ответа, выполняется проверка того, содержится ли он в хеше %pending. Если его там нет, это, скорее всего, свидетельствует о том, что сообщение является дублирующимся. Происходит вывод предупреждающего сообщения и возврат. Затем осуществляется проверка того, превышает ли порядковый номер этого ответа порядковый номер предыдущего. Если это не так, выводится предупреждающее сообщение, но никакие другие действия не предпринимаются.
Ответ, который успешно прошел все эти проверки, считается допустимым. Он выводится, запоминается его порядковый номер, а соответствующий ему запрос удаляется из хеша %pending.
Строки 67-77. Подпрограмма do__retries (). Эта подпрограмма отвечает за повторную отправку тех запросов, ответы на которые еще не получены. Выполняется цикл по ключам хеша %pending и проверяется поле tries, соответствующее каждому ключу. Если значение поля tries превышает значение константы max_retries, выводится предупреждающее сообщение, что программа отказывается от дальнейших попыток получить ответ на этот запрос, и запрос удаляется из хеша %pending. В ином случае вызывается подпрограмма send__message () с этим запросом для его повторной передачи.