如何在perl中访问Expect模块的缓冲区内容

如何在perl中访问Expect模块的缓冲区内容,perl,expect,Perl,Expect,我正在使用expect自动化基于终端的应用程序。我将根据expect命令的结果发送数据。我知道expect在进行字符串匹配时会将所有不匹配的字符串模式存储在缓冲区中。例如,$expect_out0,string用于存储expect实际等待的字符串,而$expect_outffer包含在上一个命令之前出现的所有不匹配的字符串模式 我想知道是否有任何方法可以访问这些expect缓冲区,比如将expect缓冲区内容复制到某个变量中,如下所示 $mybuffer = $expect_out(buffer

我正在使用expect自动化基于终端的应用程序。我将根据expect命令的结果发送数据。我知道expect在进行字符串匹配时会将所有不匹配的字符串模式存储在缓冲区中。例如,$expect_out0,string用于存储expect实际等待的字符串,而$expect_outffer包含在上一个命令之前出现的所有不匹配的字符串模式

我想知道是否有任何方法可以访问这些expect缓冲区,比如将expect缓冲区内容复制到某个变量中,如下所示

$mybuffer = $expect_out(buffer);
但是上面的语句实际上在perl_app_hh.pl第72行抛出了一个错误语法错误,靠近$expect_out


我只想将expect缓冲区的内容复制到一个变量。所以请在这个问题上帮助我。

你必须阅读$expectbuffer不是有效的Perl

$exp = Expect->spawn(...);
$exp->send(...);
$buffer = $exp->before();

以上所有内容都应该使用cpan提供的perl的expect模块工作。$expect\u out0、string和$expect\u Outffer不是有效的perl语法。是否可以向我们显示要修改的现有代码?打印\n\n\n*******即将打印预期的缓冲区内容…************\n\n\n\n$mybuffer=$expect\u exputffer;打印\n预期缓冲区内容为$buffer\n;打印$expect\u out0,字符串;