もとcobol屋の小山と申します。
こんな感じのデータを集計する。
9999,1,1,1,101,4,1,1;1;01;00,5555,0
9999,1,1,1,101,9,1,1;1;01;00,3255,0
9999,1,1,1,101,4,1,1;1;02;00,200,0
9999,1,1,1,101,9,1,1;1;02;00,200,0
9999,1,1,1,101,4,1,1;1;03;00,504,0
9999,1,1,1,101,9,1,1;1;03;00,504,0
9999,1,1,1,101,4,1,1;1;04;00,630,0
下記のような簡単な集計プログラムをつくってみたのですが

hinname=Hash.new()
hin_cnt=Hash.new()
# 品名テーブル読み込み
hin=open("hin.txt","r")
hin.each_line do |line|
    f = line.chomp.split(/,/)
    hinname[f[0]]=f[3]  # 品名格納
    hin_cnt[f[0]]=0     # 件数初期化
end
hin.close
#  データ読み込み
inf=open("kd2.txt","r")
inf.each_line do |line|
    f = line.chomp.split(/,/)
    if f[5]= "9"   # ある項目が '9'のとき
        hin_cnt[f[7]]+=1   # カウント
    end
end
inf.close
#  結果出力
$,=","
hinname.each_key do | hinno |
     print hinno,hinname[hinno],hin_cnt[hinno],"\n"
end


出力結果
1;2;06;01,みかん,371,
1;2;09;00,りんご,257,
2;1;18;00,ほうれんそう,436,
.
.
結果を出力するときに hinnoでソートする方法が
ちょっと分からなかったのですがどなたかに御教示いただけると
助かります。
また、rubyの世界の模範的なプログラムをお示しいただけると
嬉しいと思います。

小山英夫 : fa8h-kym / asahi-net.or.jp