Telnetの実行 (module)Net-Telnet
back
オプションモジュール
(deb) libnet-telnet-perl
Net/Telnet.pm だけ配置するだけでも動作
http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
対象サーバへ telnet ログインし、任意のコマンドを実行
----
use Net::Telnet;
$user = "user";
$pass = "us//:/er";
$telnet = Net::Telnet->new(Host => '133.197.59.170');
$telnet->login($user, $pass) || die "can not login";
push @result, $telnet->cmd('ls -F');
push @result, "\n";
push @result, $telnet->cmd('ls -l');
$telnet->close();
foreach(@result){
print;
}
exit;
----
$telnet->cmd(xxx)の戻り値は、スカラコンテキストではコマンドの実行に成功すれば
真が、リストコンテキストでは、コマンドの実行による結果の文字列が行ごとのリストが
返る。
ただし、プロンプト等も入ってしまうので、コマンド実行結果のみが
欲しければ、リダイレクトで(リモートの)ファイルへ出力し ftp get
したほうがいいかも。
なお、コマンドの実行結果は、リモートでのコマンドの実行結果が成功/失敗かは
関係なく(コマンドがないとか引数のファイルがないとかまぁいろいろ)、cmd メソッドの
実行が成功/失敗かの値になるので注意。
back