При каждом вызове обработчика он наращивает глобальную переменную $quit_now на единицу. Как только переменная достигает значения 2 или более, выполнение программы завершается. В ином случае обработчик выводит сообщение ‘‘Press ctrl+c again to exit". В результате этого для завершения программы пользователь должен дважды нажать клавишу прерывания без промежуточных команд. Это позволяет исключить возможность прерывания программы пользователем, который хотел просто прервать передачу данных. Обработчик urg настроен на вызов подпрограммы do_urgent (), которая рассматривается ниже.
Строки 16-18. Создание подключенного сокета. Предпринимается попытка создать дескриптор IO::Socket, подключенный к удаленному хосту. В случае успеха применяется функция fcntl () для установки в качестве владельца сокета текущего процесса, чтобы этот процесс мог получать сигналы urg.
Строки 19-22. Создание оболочки IO::Getline. Создается новая оболочка сокета IO::Getline, включается блокирующий режим поведения и немедленно начинается поиск заголовка приглашения хоста путем сопоставления кода результата с образцом 200. Если в полученных данных код результата отсутствует, вызывается функция die с соответствующим сообщением об ошибке.
Строки 23-36. Цикл обработки команд. Теперь программа входит в главный цикл обработки команд. При каждом проходе по циклу выводится приглашение к вводу команды (“>”) и со стандартного устройства ввода считывается строка, введенная пользователем.
2015-02-15 18:14:02
это интересно Всем любителям, как театра, так и цирка может стать интересным посещение театра Дурова. Приобрести билеты в уголок Дедушки Дурова можно на странице http://www.biletexpress.ru/teatr/187/af.html , где также подробно описывается сее мероприятия и представлено много полезной и увлекальной информации. Посетив данный театр, многие долгое время остаются под неизгладимым впечатлением.