#!/usr/local/bin/perl

# 
# mailsplit: 指定数のメールへフォルダを切り分ける．
# 
#     [1998/01/05] OSHIRO Naoki. mail2memo を叩き台にした．
#     [1998/08/06] OSHIRO Naoki. 初期出力ファイル名がないのを修正
# 
#     $Log:$
#

$max=200;

require "getopts.pl";
&Getopts("m:");
$max=$opt_m if ($opt_m);

$nf=0; $n=0;
$first=1;
open(F, ">$ARGV[0].$nf") || die;
while (<>) {
    if ($first || /^$/) {     # 改行だけの行が見つかって
	last if (eof);
	unless ($first) {
	    print F;
	    $_=<>;
	    $first=0;
	}
	if (/^From (.+)/) {   # 続く行が From ならメールヘッダ 
	    if (++$n>=$max) { # フォルダナンバーの更新チェック
		$nf++; $n=0;
		close(F);
		open(F, ">$ARGV.$nf") || die;
	    } else {
		print F "\n";
	    }
	    print F "$_";     # From 行の出力
	    while (<>) {      # ヘッダ部の出力
		print F;
		last if /^$/;
	    }
	    next;
	}
    }
    print F;                  # メール本体の出力
}
close(F);
