実行結果を変数に収納
無料ダイナミックDNS(DDNS)サービス - ieServer.Netで配布している、UNIX用DDNS更新Perlスクリプトを無理やりWindowsで実行してみた。
結果は成功。例によって中途半端に説明します。
セッティング
スクリプトファイルをエディタで開くとこんな説明が見れる。
Perlは、Active Perlをインストールすれば使えます。解説サイトがたくさんあるのでわかりやすい。
wgetは、UNIXならではの機能。しかし、http://weather.is.kochi-u.ac.jp/winwget.htmlなんていうものがあります。これをダウンロード、セッティングします。手順は後で。
cronは、スクリプトを定期実行するのに必要なだけで、ただ実行する分には不要。というわけで今回は無視。
Win用wgetを、パスの通るフォルダにダウンロード。必要なDLLも一緒に入れる。多分スクリプトと同じフォルダに突っ込むのが手っ取り早い。
スクリプトを書き換える
すこーーしだけ、変更します。
49行目の
$STATUS = `wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'`;
これの''を削除。
$STATUS = `wget -q -O - $DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1`;
こうなる。
どうしてこうするのかっていうと、Win版wgetの仕様なんじゃないかなあ?
あとは、普通にアカウント情報を入力すればOK。34行目の「ドメイン名」は、「or.tp」とかで、それより手前のサブドメインは含まないようなので注意。