Net::FTPの練習

結城浩

2000年1月15日

朝、ふと思い立ってNet::FTPの練習をしてみようと思う。 perldoc cpan でCPANの使い方を調べ、 perl -MCPAN -e shell; と実行してみると、cpan> というプロンプトが現れるので、 CPANのインタラクティブモードに入った(ようだ)。 そこでおもむろに、 install Net::FTP と入力すると何やらごちゃごちゃと表示されてCPANからダウンロードを試みる。 しばらくすると自分でテストをはじめOKだよ、と言われる。 次に、 perldoc Net::FTP と入力してモジュールの使い方を調べる。 試しにホームページのindex.htmlをgetしてみる。 以下のようなスクリプトを書く。

use Net::FTP;
$ftp = Net::FTP->new("my.host.name", Debug => 1);
$ftp->login("myloginname", "mypassword");
$ftp->cwd("mydirectoryname");
$ftp->get("index.html");
$ftp->quit;

(もちろんmyではじまる文字列は変えて実行する) これを、動かすとネットにつながって index.html がgetできた。 あっけないくらい簡単だ。 getをputに直せばputもできる。

ふむ。

これを応用すれば「指定したファイルのうち、 前回putしてから更新したファイルのみを指定したディレクトリにputする」 というのは自動化できそうだ。 つまりこれはホームページの更新ですね。 まあ、Net:FTPを使わなくても、 systemでftp.exeを動かしてもできるのですが。