Поскольку серверы, которые действуют по принципу выполнения команд, нашли такое широкое распространение, в пакет libnet включен универсальный базовый модуль NetCmd. Этот модуль фактически не применяется отдельно, но дополняет функциональные возможности потомков модуля IO::Socket, позволяя им легко взаимодействовать с сетевыми серверами указанного типа. От Net::Gmd происходят такие модули, как Net::FTP, Net::SMTP, Net::NNTP и Net::POP3.
Объекты модуля Net::Cmd обладают двумя основными методами— command() и response()
$success = $obj ->command ($command [,@args]);
Эта строка отравляет на сервер команду, указанную параметром $command, за которой может следовать несколько: параметров. Метод command() автоматически вставляет пробелы между парамерами и добавляет символы crlf к концу команды. Если команда доставлена успешно, метод примет истинное значение.
$status = $obj->response;
Выбирает и интерпретирует ответ сервера на последнюю команду, возвращая наиболее значимую цифру в качестве результата вызова метода. Например, если код результата сервера равен 331, метод response() возвращает 3. В случае неудачного завершения возвращается значение undef.
В подклассах модуля Net::Cmd на основе методов command() и response() строятся и более сложные методы. Например, в методе login() модуля Net::FTP метод command() вызывается дважды: для выдачи команды USER, а затем — команды PASS. Обычно в программе не следует вызывать методы command() и response () самостоятельно; вместо этого лучше использовать более специализированные (и удобные) виды, предоставляемые подклассом. Однако для получения доступа к функциональным средствам, которые не предоставляются модулем верхнего уровня, можно воспользоваться методами command() и response().
В приложениях, предназначенных для конечного пользователя, часто используются другие методы, предоставляемые модулем Net::Cmd. К ним относятся code(), message() и ok().
$code = $obj->code
Возвращает трехсимвольный числовой код результата из последнего ответа.
$message = $obj ->message
Возвравщает текст последнего сообщения сервера. Это особенно удобно для диагностирования ошибок.
$ok = $obj->ok
Метод ok() возвращает истинное значение, если последний ответ сервера указывает на успешное выполнение; в ином случае — ложное значение. Истинное значение возвращается, если код результата больше 0 и меньше 400.
2013-11-24 13:24:22
это интересно Разнообразие программного обеспечения иногда затрудняет поиск строго необходимой программы для определенных целей. Например, вопрос как сделать скриншот в windows на своем компьютере или ноутбуке не всегда находит однозначный ответ. Качественные продукты для этой цели можно найти на сайте http://www.screencapture.ru.