#!/usr/local/bin/perl #初期設定を読みこむ require './setup.pl'; $date = sprintf("%04d\/%01d\/%01d %s",$year + 1900,$mon +1,$mday,$wday_array[$wday]); #ログを読みこんで集計---------------------------------------------------------------- open(LOG,"$base_dir$log") || &CgiDie('Log Not Found',''); while () { s/\n//g; ($email,$vote) = split(/\t/); if ($vote ne '') { $KEKKA{$vote}++; $j++; } } close(LOG); #エントリーファイルを読みこんで対象データを取得-------------------------------------- open(IN,"$base_dir$entry") || &CgiDie('エラー','エントリーファイルが読み出せませんでした.'); while () { s/\n//g; if (/^#/ || /^$/) { next; } ($number,$name,$url) = split(/,/); $name =~ s//>/g; $name =~ s/"/"/g; $entry{$number} = $name; $url{$number} = $url; } close(IN); #結果の画面出力---------------------------------------------------------------------- print &PrintHeader; print <<"EOF"; 集計結果 $body

集計結果($date)

投票総数 $j

EOF if ($j == 0) { print "\n"; } else { $before = ''; $num = $border = $f = 0; foreach $KEKKA (sort { $KEKKA{$b} <=> $KEKKA{$a} } keys %KEKKA) { $num++; $bar = $KEKKA{$KEKKA}; #総数によってグラフの配置(大きさ)を考慮する処理 if ($f == 0) { $f = 1; $magnification = $bar / 200; $bar = 200; } else { $bar = $bar / $magnification; } $bar = int($bar); if ($bar == 0) { $bar = 1; } $border++; if ($border % 2 != 0) { $bgcolor = "bgcolor=#ffeedd"; } else { $bgcolor = ""; } $percent = 100 * ($KEKKA{$KEKKA} / $j); $percent = sprintf("%.1f",$percent); if ($before eq '') { $number = "1"; } if ($before == $KEKKA{$KEKKA}) { $number = ''; } else { $number = $num; } $before = $KEKKA{$KEKKA}; print "\n"; print "\n"; print "\n"; if ($url{$KEKKA} ne '') { print "\n"; } else { print "\n"; } print "\n"; print "\n"; print "\n"; print "\n"; } } #表示義務↓ print <<"EOF";
順位 エントリー番号 結果 グラフ 得票数 割合
None
$number$KEKKA$entry{$KEKKA}$entry{$KEKKA}$KEKKA{$KEKKA}$percent\%

以上.


eVOTE

EOF print &HtmlBot; exit;