1

Net :: Appliance::Sessionに問題があります。セッションを作成し、コマンドを実行しました。実行後、いくつかの質問が表示されます(はい/いいえ)。私はそれに答えたいのですが、それを行う方法を見つけられませんでした。以下に私の試練を見ることができます:

$session->cmd($command);
$session->waitfor(Match=>'/.*yes*/');
$session->print("no");
$session->waitfor(Match=>'');
$session->print("y");

どこに問題があるのか​​わかりません。CPANドキュメントへの準拠Net::Telnetにはwaitforメソッドがあります。しかし、セッションのドキュメントには、waitfor()を使用できることが記載されています。もう1つは、メソッド「cmd」には、waitfor()のすべての機能を含むメンバーMatchがあるということです。だから私は以下のように私のコードを変更しました:

$session->cmd($command, Match=>'/.*yes*/');
$session->print("no");

このレポートを実行すると、以下のエラーが発生します。

/usr/lib/perl5/vendor_perl/5.8.8/Net/Appliance/Session.pm行245のハッシュ割り当ての要素数が奇数です。

どうすればそれができるのでしょうか?そして、なぜこのエラーメッセージが表示されるのですか?

前もって感謝します..

4

1 に答える 1

0

meta::cpanNet::Appliance::Sessionページから

確認やオプションのパラメータを要求するコマンドなど、より複雑な相互作用を処理するには、マクロを使用する必要があります。これらは会話集に設定され、$s->macro($name)メソッド呼び出しを介して発行されます。詳細については、PhrasebookおよびCookbookのマニュアルページを参照してください。

したがって、会話集にマクロ(スクリプト化された呼び出しと応答)を設定してから、そのマクロを使用するようにセッションに指示します。

于 2012-09-04T16:41:07.817 に答える