OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

CGIプログラムを使ってレースの結果をHTMLに表示

  • すぐに回答を!
  • 質問No.135350
  • 閲覧数54
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 60% (261/431)

CGIプログラムの件でご質問したいのですが、datファイルのレース結果をCGIプログラムを使ってHTMLに表示したいと思っています。
datファイルの内容は、レースの結果が1位から順に10位くらいまでA,B,Cクラス混合で並んでいます。

1,Aクラス,青チーム,12:50,山本太郎
2,Cクラス,赤チーム,11:23,山田花子
3,Bクラス,黄チーム,10:52,松本典子
4,Aクラス,桃チーム,10:32,加藤茶子

それをCGIプログラムによって、各クラスごとに表示します。
CGIのプログラムの内容は、

open (FILE, "<data.dat") || die "File 'data.dat' Open Error.";
@all = <FILE>;
close(FILE);
foreach (@all){
($data1, $data2, $data3, $data4,$data5) = split(/,/, $_);
next unless ($data2 eq "A");
&one_data;
}

sub one_data {
print << "END_OF_ONE";
<P>$data1位<BR>
$data2<BR>
$data3<BR>
$data4<BR>
$data5<BR>
</P>
END_OF_ONE
}
1;

だいたいこんな感じですが、この各クラスごとに表示したHTMLのファイルの順位のところが、もとのdatファイルの順位になってしますので、それを1位から順にクラス別の順位として表示したいのです。
それにはどのようにしたらよいでしょうか?
すみません、あまりperlの言語の知識がないもので。。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 30% (75/244)

私の場合、sortを使います。 例えば、 a,100 b,300 c,200 というデータがあって、後ろの番号順にしたい場合は、 foreach (@all){ chop;←改行を消す ($data1, $data2) = split(/,/);←$_は無くてもOK $data{$data2} = $_; } foreach (sort $a <=> ...続きを読む
私の場合、sortを使います。
例えば、

a,100
b,300
c,200

というデータがあって、後ろの番号順にしたい場合は、

foreach (@all){
chop;←改行を消す
($data1, $data2) = split(/,/);←$_は無くてもOK
$data{$data2} = $_;
}

foreach (sort $a <=> $b keys(%data)){
print "$_\n";
}

とすれば、

a,100
c,200
b,300

となると思います。

b,300
c,200
a,100

にしたい場合は、

foreach (sort $b <=> $a keys(%data)){

にします。(もしかしたら、逆かも・・・)

ちなみに、文字をソートしたい場合は、<=>をcmpにすればできます。
お礼コメント
ponsuke777

お礼率 60% (261/431)

ありがとうございました。
でも、結局、
# クラス毎順位カウンタ
$Rank = 1 ;

# すべてのデータについて繰り返す
foreach (@all){

# 1行の文字列をコロンを目印にして項目に分割する
($data1, $data2, $data3, $data4,$data5, $data6, $data7, $data8, $data9) = split(/,/, $_);

next unless ($data3 eq "A");

# 1件分のデータを表示するサブルーチン
&one_data;

# カウントダウン(順位を下げる)
$Rank++ ;
}
というふうにしました。
ご協力ありがとうございました。
投稿日時 - 2001-09-17 13:47:13


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ