PerlのNet::Telnetモジュールと接触するために小さなtelnetスクリプトを作成しようとしましたが、出力を受信しようとするとコマンドタイムアウトに苦労します。
$telnet = new Net::Telnet ( Timeout=>10);
$telnet->errmode("return");
$telnet->open('192.168.0.187');
$telnet->waitfor('/Username: $/i');
$telnet->print('admin');
$telnet->waitfor('/Password: $/i');
$telnet->print('admin');
$telnet->waitfor('/admin >$/i');
@output = $telnet->cmd('show');
#$telnet->waitfor('/admin >$/i');
print @output;
しかし、私が得るものは次のとおりです。
telnet.plの12行目でコマンドがタイムアウトしました
タイムアウトを増やしようとしましたが、errmodeをreturnに設定しましたが、それでもそのタイムアウトが発生します。それにもかかわらず、サーバーでの「show」の出力には約1秒かかるので、スクリプトで推測する他の何かが間違っている必要がありますか?