Строки 33-41. Метод parse_url (). Этот метод разбивает URL протокола HTTP на компоненты в два этапа. Вначале отделяются части host:port и path с обозначением хоста, порта и пути доступа, а затем часть host:port разбивается на соответствующие два компонента. Этот метод возвращает трехэлементный список, содержащий хост, номер порта и путь доступа.
Строки 42-55. Метод connect () инициализирует неблокирующее подключение с применением способа, описанного выше. Создается неподключенный объект IO::Socket, состояние его блокировки устанавливается равным ложному значению и вызывается метод connect () сокета с желаемым адресом назначения. Если метод сразу же сообщает об успешном выполнении или возвращает значение undef, но переменная $! имеет значение einprogress, то возвращается полученный сокет. В ином случае возникает какая-то ошибка и возвращается ложное значение.
Строки 56-68. Метод send_request (). Данный метод вызывается, если сокет перешел в стояние готовности для записи либо потому, что в нем была успешно выполнена операции неблокирующего подключения, либо потому, что возникла ошибка и операция подключения потерпела неудачу. Вначале проверяется переменная состояния экземпляра и вызывается функция die, если эта переменная не находится в ожидаемом состоянии “waiting” — такая ситуация могла бы свидетельствовать об ошибке в программе, но мы-то знаем, что у нас таких ошибок не бывает. Если эта проверка выполнена успешно, определяется, подключен ли сокет. Если он не подключен, выполняется выборка сообщения об ошибке с отложенной активизацией, запись его в переменную $ ! и возвращение сообщения об ошибке вызывающей процедуре.
2014-10-05 15:08:13
это интересно Случается, что вы приобрели компьютер, ноутбук или другую процессорную технику и только кончается срок гарантии и аппарат начинает барахлить. На помощь может прейти сайт скорой компьютерной помощи в Москве, специалисты которого выполнят диагностические и ремонтные работы быстро и качественно. Также сотрудники могут дать консультации по уходу за техникой.