• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データの集計(?))

データの集計方法について

このQ&Aのポイント
  • CGIで表形式のデータを集計する方法について詳しく教えてください。
  • 4番目のフィールドでデータを集計する方法について教えてください。
  • データの集計結果を特定の形式で表示する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

元のソースに手を加えると、次のような感じになります。 my %count;  # 集計用ハッシュ変数 # 4番目のデータで集計 foreach $data (@datalist) {   ($data1,$data2,$data3,$data4,$data5,$data6) = split(/,/,$data);   $count{$data4}++; } # 集計結果を表示 foreach $key (sort keys %count) {   print "$key = $count{$key}\n"; } ソースを見やすくするため全角スペースを入れていますので、コピーして使う際は半角スペースやタブに変換してください。

macky0225
質問者

お礼

度々有難う御座います。 御教え頂いた手段にて問題は解決しました。 イマイチCGIが解らないのでご迷惑をおかけしましたm(__)m 説明もとてもわかりやすくホントに助かりました。

その他の回答 (1)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

このような場合は、4番目の値をキーにしたハッシュで、値をカウントします。 my %count; foreach (@data) {   $count{ (split /,/)[3] }++; } foreach (sort keys %count) {   print "$_ = $count{$_}\n"; }

macky0225
質問者

補足

御回答有難う御座います。 私の書き方が悪いのか、御指示どおり試してみたのですが上手くいきません・・・(T_T) 下部に今まで書いていたソース(集計前)を書きますので、どの様に変更すればよいか、再度ご教授願えますでしょうか? foreach $data(@datalist){ ($data1,$data2,$data4,$data5,$data6)=split(/,/,$data); print"$data4"; } この様に単純に$data4を表示しておりました。この場合の変更手順を御教え下さいます様、御願い致します。

関連するQ&A