Я использую модуль Perl Net::Telnet для доступа к приложению, доступному через telnet.

Я использую методы $telnet->waitfor() и $telnet->print() для определения полученной формы и отправки соответствующих данных. Одна из форм имеет две опции — «Найти» и «Отменить».

В терминале я могу просто нажать TAB, чтобы выбрать «Отмена» и ENTER. Но внутри скрипта у меня не работает отправка TAB, т.е.:

$telnet->print('\t')

Или

$telnet->print("\t")

Кто-нибудь знает, как решить эту проблему?

-2
Quadir 2 Июл 2009 в 00:08
$telnet->print("\t") должно работать, почему бы вам не опубликовать немного больше информации?
 – 
Osama Al-Maadeed
2 Июл 2009 в 00:48
1
Ассалам алейкум Осама, Вы правы, $telnet->print("\t") работает.
 – 
Quadir
2 Июл 2009 в 00:57

2 ответа

Чтобы отправить вкладку, вам нужно отправить фактические биты, которые представляют вкладку. Версия с одинарными кавычками '\t' этого не сделает. Чтобы преобразовать \t из его логической формы в правильное битовое представление, вам нужна интерполяция с двойными кавычками.

2
brian d foy 2 Июл 2009 в 18:44

На самом деле $telnet->print("\t") работает.

0
Quadir 2 Июл 2009 в 00:56