Я использую модуль Perl Net::Telnet для доступа к приложению, доступному через telnet.
Я использую методы $telnet->waitfor()
и $telnet->print()
для определения полученной формы и отправки соответствующих данных. Одна из форм имеет две опции — «Найти» и «Отменить».
В терминале я могу просто нажать TAB, чтобы выбрать «Отмена» и ENTER. Но внутри скрипта у меня не работает отправка TAB, т.е.:
$telnet->print('\t')
Или
$telnet->print("\t")
Кто-нибудь знает, как решить эту проблему?
2 ответа
Чтобы отправить вкладку, вам нужно отправить фактические биты, которые представляют вкладку. Версия с одинарными кавычками '\t'
этого не сделает. Чтобы преобразовать \t
из его логической формы в правильное битовое представление, вам нужна интерполяция с двойными кавычками.
На самом деле $telnet->print("\t") работает.
Похожие вопросы
Новые вопросы
perl
Perl - это процедурный высокоуровневый динамический язык программирования общего назначения, известный своей собственной поддержкой регулярных выражений и возможностей синтаксического анализа строк. Пожалуйста, используйте этот тег для вопросов о Perl в целом. Для вещей, связанных с новым (но связанным) языком Raku (ранее «Perl 6»), используйте тег raku. Для регулярных выражений в стиле Perl на других языках используйте тег regex или, если они основаны на библиотеке PCRE, тег pcre.