Net::Telnet

Telnetクライアントモジュール

use Net::Telnet;
パッケージをロードする。

my $telnet = Net::Telnet->new($host);
インスタンスを生成してTelnetサーバに接続する。
$host:Telnetサーバのホスト名:ポート番号、または、IPアドレス:ポート番号。
   ポート番号のデフォルトは23。

my $telnet = Net::Telnet->new(%options);
%options:主要なオプションは下記の通り
 Host:Telnetサーバのホスト名、または、IPアドレス。デフォルトはlocalhost。
 Port:Telnetサーバのポート番号。デフォルトは23。
 Prompt:cmdメソッドで受信待ちするプロンプト文字列。/正規表現/ 使用可。
    デフォルトは/[\$%#>] $/
 Timeout:タイムアウト時間。デフォルトは10秒。
 Input_log:サーバからの応答を記録するログファイル名。通常のサーバは、クライアントの入力もエコーバックするので、このパラメタを指定すれば、入出力両方をログできる。接続と同時にログ出力が開始される。
 Output_log:サーバへの送信を記録するログファイル名。接続と同時にログの出力が開始される。
 Dump_log:サーバとの入出力を16進ダンプ形式で記録するログファイル名。接続と同時にログ出力が開始され る。
 Binmode:改行コード変換モード。0の時、LF←→CR/LFの変換を行なう。デフォルトは0。

my $ok = $telnet->login($username, $password);
ログインする。ログインプロンプトは、下記の形式が想定されている。それ以外の場合は、waitforメソッドとprintメソッドで実現する事。
ログインプロンプト)
 /login[: ]*$/i
 /username[: ]*$/i
パスワードプロンプト)
 /password[: ]*$/i

my $prev = $telnet->binmode($mode);
改行コード変換モードを設定する。

my $fh = $telnet->dump_log($filename);
dump_logを開始する。

my $fh = $telnet->dump_log;
dump_logを停止する。

my $fh =$telnet->input_log($filename);
input_logを開始する。

my $fh = $telnet->input_log;
input_logを停止する。

my $fh = $telnet->output_log($filename);
output_logを開始する。

my $fh = $telnet->output_log;
output_logを停止する。

my $ok = $telnet->cmd($string);
$stringと"\n"を送信し、プロンプトが戻ってくるまで待つ。

my $ok = $telnet->print(@list);
@listを"\n"で区切りながら送信する。

my $matchop = $telnet->prompt;
プロンプトが戻ってくるまで待つ。

my $ok = $telnet->put($string);
$stringを送信する(\nは送信しない)。

my $ok = $telnet->waitfor($matchop);
$matchop(/正規表現/ 可)に一致する文字列を受信するまで待ち、マッチした文字列を返す。

my $ok = $telnet->close();
ログアウトする。