帮助Perl Expect

时间:2011-04-22 06:03:11

标签: perl expect

我是Perl编程的新手。目前我有一个理解一些代码的任务。

我必须了解Perl Expect代码,在这段代码中有一行代码,如下所述:

  

my $ exp = new Expect;

     

$ EXP->产卵( “ス”);

我的理解是第1行告诉我们创建一个类和第2行的实例,创建一个子进程。

如果有人更清楚地向我解释,我会非常感谢他们。

1 个答案:

答案 0 :(得分:3)

首先,让我帮助你自己:

  • 有关Perl的帮助,请查看perldoc
  • 有关Perl模块的帮助,请检查 CPAN

您正在使用CPAN:Expect上的Expect模块。

从严格的语法角度来看,你所做的只是调用两个方法:

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

这两种方法都记录在CPAN中,并且它们确实做你所期望的 (没有双关语)他们要做的事情:第一个创建一个Expect对象,第二个一个生成一个没有任何参数的进程“su”。

现在你可以使用send和expect方法将字符串发送到进程,或者等到它要求输入。直接来自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);