HOME / プログラムTips / Perl / Maildirのメールで同一Message-IDの重複メールを削除
Tipsというよりも、即席プログラムですが・・・。
#!/usr/bin/perl
use strict;
my %list;
while(<>){
chomp;
my $file=$_;
open(IN , $file);
# print $file;
while(<IN>){
if(/^Message-ID:\s+(.*)$/){
my $messageid=$1;
if($list{$messageid}){
print "old ID=$messageid\n";
print "delete $file\n";
unlink $file;
} else {
$list{$messageid}=1;
}
last;
}
}
close(IN);
}


