青山です。

In message <19980824165639P.dezawa / miya.fujifilm.co.jp>, Sinichiro Dezawa write
s:
>telnet.rb の method login 直りませんでしょうか。 
>login: でなく UserID: だったりするところも有ったりするのです。
>
>masaki.suketa>  def login(options, password = '',
>masaki.suketa>             login_pmt = 'login: ',
>masaki.suketa>             pass_pmt  = 'Passwd: ')

そうですね。ちょっと気にはなっていました。ただ、ルータのメンテナンスポー
トのように、いきなり Password: なんていうのもありますし、きりがないよ
うな気もしていました。

Perl の Net::Telnet でも /login[: ]*$/i, /username[: ]*$/i の2つだけ
ですし、

waitfor(/UserID[: ]*$/)
cmd({"String" => "username", "Match" => /Passwd[: ]*$/})
cmd("password")

とわずかな事なので、例外環境については、その場で対応しても大して差が無
いような気もしています。

もう少し見やすく書くなら、こんな感じでしょうか。

host.waitfor(/UserID[: ]*$/)
host.print("username")
host.waitfor(/Passwd[: ]*$/)
host.print("password")

と思ったら、動きませんね。なるほど。Net::Telnet では、print を再定義し
ていたんですね。login の拡張のかわり(?)に、この print の提供ではいかが
でしょうか?

ということで、新版を in.coming に入れておきました。よろしくお願い致し
ます。(mail check のサンプルも含めました。)


青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>