- ベストアンサー
既存データから指定項目を抽出し、ランキングを表示するスクリプト
- 既存のデータから指定項目を抽出し、点数でランキングを表示するスクリプトを探しています。
- 特殊なデータをランキングするスクリプトが無くても、同様のデータをランキングするようなスクリプトがあれば流用したいです。
- スクリプトがあれば、それを参考にして作成したり、流用できるサイトやスクリプトなどを教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サンプル: %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<><>日付<>
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>これをどうすればいいのかが皆目検討がつきません… <DATA> の部分を実際のファイルハンドルに 例えば open(RANKING, "rankdata.txt"); みたいにして <RANKING> に置き換えて print でTABLEを書き出せばいいです。
お礼
ありがとうございます!! なんとか、希望する通りの表示ができるようになりました!
補足
せっかくサンプルを記載して頂けたのですが、これをどうすればいいのかが皆目検討がつきません…