我实际上正在重构我的一些同事的代码,我有一个问题。 在网上搜索没有给我任何好处,所以它是:
我正在产生一个新的Expect连接到每个路由器&开关。 每次连接时,期望都是这样的:
$exp->expect ($timeout,
[qr/[Pp]assword:\s*/ => sub {
#Some work 1
}],
[qr/.*Are you sure you want to continue connecting.*/ => sub {
$exp->send("yes\n");
exp_continue;
}],
[qr/.*refused.*/ => sub {
# some code 3
}],
);
我希望它从第一个语句重新开始,可能需要一些递归。 当达到“exp_continue”时,会发生什么?它会从第一个qr开始/或者会继续到第三个吗?
由于
答案 0 :(得分:1)
从未使用过perl expect软件包,但根据作者的说法,它非常类似于期望。
摘自Don Libes的探索期待:
当作为expect动作执行时,命令exp_continue导致控制 继续在当前的期望命令。期待继续尝试匹配 模式,但来自上一场比赛后停止的地方。期待有效重复 它的搜索就好像它再次被调用一样。
快速测试是在连接正则表达式之前和之后检查密码正则表达式,然后显示一个msg以显示执行了哪个块。