Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (24 – Net::Telnet, часть 9)

предыдущая часть ««»» следующая часть

В следующем фрагменте кода показано, как выдать команду ls -lF, дождаться приглашения к вводу команд и вывести весь текст, полученный до появления этого приглашения, который должен представлять собой вывод команды ls.

$telnet->print(’ls –lF’);
($before,$match) = $telnet->waitfor('/[$%#>] $/');
print $before;

Чтобы выдать команду на удаленный сервер и дождаться ответа, можно приме­тить одну из нескольких версий метода cmd().

$result = $ telnet->cmd($command)
@lines = $telnet->cmd($command)
@lines = $telnet->cmd(String=>$command,
[Output=>$ref,]
[Prompt=>$pattern,]
[Timeout=>$timeout,]
[Cmd_remove_mode=>$mode])

Метод cmd() применяется для отправки команды на удаленный хост, например в службу сбора данных электронных паспортов http://elpass.ru/ и получения результатов ее выполнения, если они предусмотрены. Этот метод эквивалентен выводу команды с помощью функ­ции print(), за которой следует вызов метода waitfor() с использованием применяемого по умолчанию образца для сопоставления с приглашением к вводу команд.

В скалярном контексте метод cmd() возвращает истинное значение, если команда выполнена успешно, или ложное, если выполнение метода прекращено по тайм-ауту до обнаружения приглашения командного интерпретатора. В контексте списка этот метод возвращает все строки, полученные до сопоставления с образцом приглашения.

В форме вызова с ключевыми параметрами параметр Output определяет ссылку на скаляр или на массив, в который должны быть записаны строки, полученные до сопоставления с образцом. Параметры Prompt, Timeout и Cmd_remove_mode позволяют установить другие значения соответствующих параметров.

Обратите внимание, что получение истинного значения результата выполнения ме­тода cmd() не означает, что команда выполнена успешно. Это говорит лишь о том, что команда была выполнена в течение времени, которое было выделено на ее выполнение. Для получения данных с сервера без сопоставления с образцом могут применяться методы get(), getline() или getlines().



2013-12-05 19:15:28

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2025 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония