#☆ハッシュを使い、キーごとの人数、平均点を計算
#----------------------------------------------
# 入力ファイル
# CSV形式 [並び] 受験番号7桁,区分,科目コード1,点数,科目コード2,点数
# 「1190001,3,10,50,30,47」
# 集計方法
# 「受験番号上2桁_科目コード」をキーとし、それぞれの人数、平均点を算出
#
while(<>)
{
$s1 = unpack( "A2", $_ ); # レコードの1-2桁目を$1に格納
($d1,$d2,$kmk1,$ten1,$kmk2,$ten2) = split( /,/,$_); # レコードを「,」で分離
$sum_key1 = $s1."_".$kmk1; # キーを合成
$sum_key2 = $s1."_".$kmk2; # キーを合成
$nin{$sum_key1}++; # 人数の加算
$nin{$sum_key2}++;
$ten{$sum_key1} = $ten{$sum_key1} + $ten1; # 点数の加算
$ten{$sum_key2} = $ten{$sum_key2} + $ten2;
##print;
}
##print "---------------------¥n";
foreach $key ( sort keys %nin ) # ハッシュの内容を出力
{
print "KEY:$key 人数:$nin{$key}";
print " 点数:$ten{$key}";
$w_avl = $ten{$key}/$nin{$key};
print " 平均:$w_avl¥n";
}