＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
この灯標システムはこういうこともできるという見本です。
現在では FREDライブラリ を使って実装できるので、OBSOLETE です。
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊


投票サーバ １．２：開発コード	エレナ
＃開発コードの歴史（笑）：
＃０．x		おさかな
＃１．０	ゆめこ

エレナ は vote.pl へのメールシステムインターフェイスのことです。
直接いじる投票メールをいじるシステムは vote.pl です。

		last modified: Fri Sep  9 13:52:43 JST 1994

これは実際に使われた例です。どういう投票フォーマットか等はファイルhelp
を見てくださいませ


INSTALL:
----------------------------------------------------------------

１．Elena.pl Elena.ph vote.pl vote.ph を投票サーバの場所へもってくる。

２．fml.pl のMain 部分を次のように書き換える。


if($GUIDE_REQUEST) {
    &GuideRequest;		# Guide Request from everybady
} elsif(($ML_MEMBER_CHECK ? &MLMemberCheck: &MLMemberNoCheckAndAdd)) { 
    &AdditionalCommandModeCheck;# e.g. for ctl-only address;

    require 'Elena.pl'; 
    if ($CommandMode) {		# If "# (.*)" form is given, Command mode
	&ElenaCommand;		# require 'libfml.pl'; 
    } else {			# distribution mode(Mailing List)
	&ElenaVoting;		# &Distribute;
    }
}


DESCRIPTION:
----------------------------------------------------------------


いちいち 複数投票 の可能性をチェックしてはいませんがメールのオリジナル
を全部保存しているので最終チェックは容易でしょう。
＃経路情報とかも保存してないので まぁ 嘘はつけますけどね

あと、From しか見ないようにしてあります。これも嘘つけますね。
まぁそなやつぅあいないってことで

基本コマンドシンタックスは
-------------------- guide file -----------------------------
・echo "# summary"   | mail -v Contest@phys.titech.ac.jp

その時点までに投票されたものすべてのサマリを作ります
＃実はその場で作ってますけど:-)


・echo "# cancel ID" | mail -v Contest@phys.titech.ac.jp

メールのサブジェクトにある 番号があなたの 投票番号？です。
キャンセルしたくなったら、その番号を使ってこのように キャンセルできま
す。

はにゃ
				fukachan@phys.titech.ac.jp
--------------------------------------------------------------
==============================================================
--------------------------------------------------------------
投票のし方：

--------------------- 設定 ---------------------
in vote.ph

＃の後はＲＥＡＤＭＥ用のコメントです

###### User Custumize Parameters #####

@keyword            = ('best', 'chinachina');
%Jname              = ('best', '好きな声優', 'chinachina', '将来性○とおもう一押しの声優');
%maxkeyword         = ('best', '3', 'chinachina', '1');

$Hook = q#
    y/２３（：）/23\(:\)/;	＃便宜上ASCII Codeに変換

    ＃(3)〜Beth-Katri-Pollyannaというまずマッチしなさそうな行つまり
    ＃  最後の行までを $s2 に入れる 
    if(/^\(3\)\s*(.*)/io .. /^Beth-Katri-Pollyanna$/o) {
        $ls2 = $1 ? "$1\n" : "$_\n";

        $s2 .= "\n>>>From: $Original_From_address\n\n" if /^\(3\)/io;
	next if(/^\(3\)\s*$/);

        $s2 .= $ls2;
	next;
    }

    ＃(2)〜(3)	を $s1 に入れる 
    if(/^\(2\)\s*(.*)/io .. /^\(3\)/o) {
	$ls1 = $1 ? "$1\n" : "$_\n";

	$s1 .= "\n>>>From: $Original_From_address\n\n" if /^\(2\)/io;
	next if(/^\(2\)\s*$/);

	$s1 .= $ls1;
	next;
    }
#;

＃最後に print outする時のフォーマットを決める。

$HookOut =q#
    print "\n(2)$s1\n";
    print "\n(3)$s2\n";
#;

-------------------- 投票フォーマット --------------------
好きな声優:荘真由美
好きな声優:西原久美子
好きな声優:こおろぎさとみ

将来性○とおもう一押しの声優:	西村ちなみ

(2)

う〜ん、甲乙つけがたいが、西原久美子かなぁ〜エレナさんは最高ですぅ。

(3)

だ〜っ。煩悩な企画ですねぇ。ははは
		 		うじゃ

＃備考：この辺に Signatureなんてつけなくていいからね。後で編集する時面
倒やから (_o_)

------------------------------------------------------------
Output:

vote.pl [ vote 2.0.2.0 ]  Status Report
---
好きな声優

	1 荘真由美
	1 西原久美子
	1 こおろぎさとみ

将来性○とおもう一押しの声優

	1 西村ちなみ

(2)
>>>From: Fukachan

う〜ん、甲乙つけがたいが、
西原久美子かなぁ〜
エレナさんは最高ですぅ。

(3)
>>>From: Fukachan

だ〜っ。煩悩な企画ですねぇ。ははは
		 		うじゃ

＃備考:この辺に Signatureなんてつけなくていいからね。後で編集する時面
倒やから (_o_)

------------------------------------------------------------
声優データベースの引き方：

WWWが使えれば、

http://www.phys.titech.ac.jp/cgi-bin/uja/VA にアクセスしてみてください。
声優データの INPUT形式の検索、単なる一覧形式等がそこにあります。

IP Reachableでなくて、メールしか使えない場合は、

% echo "# 西原久美子"   | /usr/ucb/mail -v va-info@phys.titech.ac.jp 

とすれば、サーバで引いた答がメールで返されます。
