• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:既存のデータから、指定項目を抽出し表示させる?)

既存データから指定項目を抽出し、ランキングを表示するスクリプト

このQ&Aのポイント
  • 既存のデータから指定項目を抽出し、点数でランキングを表示するスクリプトを探しています。
  • 特殊なデータをランキングするスクリプトが無くても、同様のデータをランキングするようなスクリプトがあれば流用したいです。
  • スクリプトがあれば、それを参考にして作成したり、流用できるサイトやスクリプトなどを教えていただきたいです。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

サンプル: %data=undef; while(<DATA>){ @field = split /<>/; $data{$field[3]}=$field[9]; } $rank=1; foreach $name (sort { $data{$b} <=> $data{$a} } keys %data){ print "rank:$rank, 名前:$name, 得点:$data{$name}\n"; last if $rank++ == 10; #10位まで } __END__ 1<>pass<>ip<>A<>url<>spell<>kana<>initial1<>initial2<>20<><>日付<> 2<>pass<>ip<>B<>url<>spell<>kana<>initial1<>initial2<>53<><>日付<> 3<>pass<>ip<>C<>url<>spell<>kana<>initial1<>initial2<>42<><>日付<> 4<>pass<>ip<>D<>url<>spell<>kana<>initial1<>initial2<>100<><>日付<> 5<>pass<>ip<>E<>url<>spell<>kana<>initial1<>initial2<>80<><>日付<> 6<>pass<>ip<>F<>url<>spell<>kana<>initial1<>initial2<>72<><>日付<> 7<>pass<>ip<>G<>url<>spell<>kana<>initial1<>initial2<>33<><>日付<> 8<>pass<>ip<>H<>url<>spell<>kana<>initial1<>initial2<>11<><>日付<> 9<>pass<>ip<>I<>url<>spell<>kana<>initial1<>initial2<>91<><>日付<> 10<>pass<>ip<>J<>url<>spell<>kana<>initial1<>initial2<>64<><>日付<>

ttoottoorroo
質問者

補足

せっかくサンプルを記載して頂けたのですが、これをどうすればいいのかが皆目検討がつきません…

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>これをどうすればいいのかが皆目検討がつきません… <DATA> の部分を実際のファイルハンドルに 例えば open(RANKING, "rankdata.txt"); みたいにして <RANKING> に置き換えて print でTABLEを書き出せばいいです。

ttoottoorroo
質問者

お礼

ありがとうございます!! なんとか、希望する通りの表示ができるようになりました!

関連するQ&A