Abort this demo here with
Template Entry Demonstration
Address Data Example Record #
Name: [______________________________________ ]
Add r: [______________________________________ ]
City: [__________ ] State: [__] Zip: [\\\\\]
Phone: (\\\) \\\-\\\\ Password: [. ]
Enter all information available.
Edit fields with left/right arrow heys or "delete".
Switch fields with "Tab" or up/down arrow keys.
Indicate completion by pressing "Return".
Refresh screen with "Control-L".
Abort this demo here with "Control-X".
Пользователь вводит текст в соответствующих полях. Обычный текст обозначается символами подчеркивания, числовые данные — символами \, а неотобра-жаемые данные — символами ~. Такие обозначения напоминают форматы Perl, за исключением того, что формы предназначены для вывода, а не для ввода данных.
> Смотри также------------------------------------------------------------------------
Man-страница curses(3) вашей системы (если есть); документация по модулям Curses и perlmenu с CPAN; раздел «Formats»perlform(l); рецепт 3.10.
15.13. Управление другой программой с помощью Expect
Проблема
Вы хотите автоматизировать процесс взаимодействия с полноэкранной программой, которая работает с терминалом, не ограничиваясь STDIN и STDOUT.
Решение
Воспользуйтесь модулем Expect с CPAN:
use Expect;
Scommand = Expect->spawn("program to run") or die "Couldn't start program: $!\n";
# Запретить вывод программы в STDOUT
$command->log_stdout(0);
# 10 секунд подождать появления "Password:"
unless ($command->expect(10, "Password")) {
# Тайм-аут
# 20 секунд подождать вывода текста, совпадающего с /[ll_]ogin: ?/ unless ($command->expect(20, -re => '[lL]ogin: ?')) { # Таймаут
# Бесконечно долго ждать появления "invalid" unless ($command->expect(undef, "invalid")) <
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий