miharing は、 指定されたファイルを見張り、 そのファイルが更新されたら何かを行う、という小さなプログラムです。 雛型としてご利用下さい。 「無償・無保証・著作権放棄」 で公開しています。
#! /usr/bin/env perl
### NO WARRANTY, NO COPYRIGHT! ###
# ファイルの更新を見張って、更新されたら何かを行う
# Usage: prog file
use strict;
my $fn = shift @ARGV; # 監視対象ファイル
my $up;
while (-e $fn) {
my $cur = (stat $fn)[9]; # 監視対象ファイルの更新時間
#print "$up $cur\n"; # for debug
if ($up != $cur) {
### 対象ファイルがアップデートされたときに行う処理
# ここから
print "update!\n";
# ここまで
$up = $cur = (stat $fn)[9];
}
sleep 1; # 監視間隔
}
起動直後は、ファイルの更新のあるなしにかかわらず、 「何か」を行うようになっています。 それでは困るという場合は 7 行目を以下のようにします。
my $up = (stat $fn)[9];
私は、ライブカメラ の画像をローカルのマシンから Web サーバへアップデートするのに使っています。 ▼ ▼