# untested use Net::OpenSSH; my $ssh = Net::OpenSSH->new(...); my ($pty, $pid) = $ssh->open2pty('microcom /tmp/dev/mux1'); my $exp = Expect->init($pty); $exp->send("AT+CSQ\r\n"); $exp->expect($timeout, [qr/^OK$/ => sub { ... }], [qr/^ERROR$/ => sub { ... }]); $exp->soft_close(); waitpid($pid, 0);