1

私は端末ベースのアプリケーションを自動化するためにexpectを使用しています。「expect」コマンドの結果に応じてデータを送信します。文字列の一致を行うと、一致しないすべての文字列パターンがバッファーに格納されます。たとえば、$expect_out(0,string) は、expect が実際に待機している文字列を格納するために使用されますが、$expect_out(buffer) には、前のコマンドまでに発生した一致しない文字列パターンがすべて含まれています。

以下に示すように、期待バッファの内容を変数にコピーするなど、これらの期待バッファにアクセスする方法があるかどうかを知りたい

$mybuffer = $expect_out(buffer);

しかし、上記のステートメントは実際にはエラー "syntax error at perl_app_hh.pl line 72, near "$expect_out(""" をスローしています。

期待バッファの内容を変数にコピーしたいだけです。ですから、この問題について私を助けてください。

4

1 に答える 1

0

Expect モジュールのドキュメントを読む必要があります。$expect(buffer)有効な Perl ではありません。

$exp = Expect->spawn(...);
$exp->send(...);
$buffer = $exp->before();
于 2012-04-16T13:50:53.023 に答える