#!/afs/athena/contrib/perl/perl

while (<>) {
    if (/^>/) {
	do flush() if $body;
	undef $body;

	do add_name($');
    } else {
	$body = 1;

	do append($_);
    }
}
if ($body) {
    do flush();
} else {
    print "Warning: empty body.\n";
}

sub add_name {
    local($n) = @_;
    chop $n;
    $star=1 if ($n eq '*');
    push(@names,$n);
}

sub append {
    $msg .= join('',@_);
}

sub flush {
    local($n);
    if ($star) {
	do process_all($msg);
    } else {
	for $n (@names) {
	    do process($n, $msg);
	}
    }
    undef @names;
    undef $msg;
    undef $star;
}

sub process {
}

sub process_all {
}
