如何在循环中生成安装程序

时间:2013-11-20 19:03:54

标签: perl

我试图在循环中执行安装程序,每次都必须启动安装程序。但是一旦循环执行一次,它会抛出以下错误并且脚本停止。有办法阻止这个吗?

my $exp = Expect->new;
my $path="/opt/sample/Installer.pl";
for(my $i=0;$i<$a;$i++){
   $exp->spawn($path) or die "Cannot spawn $path: $!\n";
    ..
    ..
    ..
 }

错误:

Cannot reuse an object with an already spawned command at Installer.pl line 52

期待文件说:

另请注意,即使该命令已退出,也无法使用已生成的命令重用对象。抱歉,您必须分配一个新对象。

有没有办法解决这个问题。

1 个答案:

答案 0 :(得分:2)

发表评论作为答案:

如果你在循环中移动了my $exp = Expect->new;,也许你的问题就解决了。

这将使您的Expect对象超出每个循环迭代的范围。请注意,我不知道这是否是处理Expect对象的正确方法。