直すべきところ |
作成日:2000-12-16 最終更新日: |
直すべきところの一覧です。
現在は ftp のコネクションを張ってからディレクトリを辿っていき、更新情報を調べます。 更新すべきファイルは ftp を張る前でも分ります。 接続時間を短くするための工夫があるといいでしょう。
このとき同時に、無駄な命令のカットができます。 たとえば、faure というディレクトリへ行った結果、更新すべきファイルがなかったとします。 このとき、スクリプトは、次の命令を実行しています。
chdir "faure";
$ftp->cwd("faure");
# 調べている
chdir '::';
$ftp->cwd("..");
コメントを除いた上の4行は更新を行なうことに対しては意味がありません。 したがってスクリプトから排除することができます。こういったことを組み込むのもいいでしょう。
それから、パスワードをスクリプトに直に書いています。これはいけないことです。 対話式に入力するようなインターフェースにする必要があります。
以上は表立ったバグとはいいにくいものでした。 ところが、今は困った問題が起きています。 というのは、ときどき長いファイルでは転送が途中で切れてしまうのです。 ダイアルアップルーターの設定時間の問題が大きいと思うのですが、 Perl 側で無駄な処理を防ぐことも、間接的にはこの障害を減らすことになるでしょう。 そして、転送後にはお互いのファイルサイズを確かめて、サイズが異なれば再送するという手段も とるべきなのではないかと思います。
上記の問題は、MacPerl の処理系をバージョンアップすることで解決しました。 (2001-12-17)