ml のアーカイブscript

.forward とかalias で以下のscript を

"| exec /home/mk/koedo/arc.pl"
ml: "| exec /home/mk/koedo/arc.pl"

の様に指定して,STDIN からファイルに落とす.
X-Mail-Count をファイル名に.
X-Mail-Count がない場合はtime-$$ でファイルを別のディレクトリに作成.

#!/usr/bin/perl

$ML_PATH="/home/mk/koedo/ml";
$ETC_PATH="/home/mk/koedo/etc";

while($line=<STDIN>){
        if($line=~/^X-Mail-Count:/){
                $mlno=(split(' ',$line))[1];
        }
        @list=(@list, $line);
}
if($mlno){
        $file = "$ML_PATH/$mlno";
}else{
        $mlno=time();
        $file = "$ETC_PATH/$mlno-$$";
}
print"file : $file\n";
open my $fh, '>', $file
  or die qq/Can't open file "$file" : $!/;

foreach(@list){
        print $fh $_;
}
close $fh;

chmod 0444, $file;

後で,IRC にSubject と参照URL 投げるようにする多分.