Помощь с Perl Expect - PullRequest
       4

Помощь с Perl Expect

2 голосов
/ 22 апреля 2011

Я новичок в программировании на Perl.В настоящее время у меня есть задача понять некоторый код.

Я должен понять код Perl Expect, и в этом фрагменте кода есть строка, упомянутая ниже:

my $ exp =new Expect;

$ exp-> spawn ("su");

Насколько я понимаю, строка 1 говорит о том, что мы создаем экземпляр класса, а строка 2 - дочернийпроцесс.

Если кто-нибудь объяснит мне более четко, я буду им очень благодарен.

1 Ответ

3 голосов
/ 22 апреля 2011

Прежде всего, позвольте мне помочь вам помочь:

  • Для помощи с Perl проверьте perldoc .
  • Для помощи с модулями Perl, проверьте CPAN .

Вы работаете с модулем Expect, который находится по адресу CPAN: Expect .

Из строго синтаксической точкивсе, что вы делаете, это вызываете два метода:

my $exp = Expect->new(); #Yes, the new Expect is a shorthand version
$exp->spawn("su");

Оба метода документированы в CPAN, и они действительно делают то, что вы ожидаете (без каламбура)) что им делать: первый создает объект Expect, второй порождает процесс su без каких-либо параметров.

Теперь вы, вероятно, можете использовать методы отправки и ожидания для отправки строки процессу или подождать, пока он запросит ввод.Прямо из примера CPAN:

# send some string there:
$exp->send("string\n");

# then do some pattern matching with either the simple interface
$patidx = $exp->expect($timeout, @match_patterns);
...