1

我正在尝试在装有 perl 5.8.8 的旧机器上使用 Expect.pm。它可以工作,但是当我发送包含“#”符号的文本时,它会从文本中删除。有没有办法逃脱/保护它?

谢谢

抱歉更正它是 5.8.8

#!/usr/bin/perl
use Expect;
use IPC::Open2;
my $cmd="./rec";
my $e = Expect->new;
$e->debug(0);
$e->spawn($cmd) or die;
$e->log_stdout(1);
$e->raw_pty(0);
my $cmd="#some command";
print "cmd: [$cmd]\n";
$e->send($cmd);
$e->expect(1,
  [ qr/^I:.*/ => sub { my $exp = shift; print "ok\n"; exp_continue;}],
  [ qr/^E:.*/ => sub {
        my $self = shift;
        print "ko\n";
        print "Match: <\n", $self->match, "\n>\n";
        print "Before: <", $self->before, ">\n";
        print "After: <", $self->after, ">\n";
        exp_continue;
        }]
  );
print "closing\n";
$e->clear_accum();
$e->close();

rec 是一个简单的 c 程序 chat 回显它接收到的用于调试目的的内容,并且只打印一些带走 # 的命令。我想要控制的实际程序需要#没有它我无法制作。

4

0 回答 0