最新閲覧日:

ご存知でしたら、お教えください。
現在、CGIを組み込んでいるんですが、以下の2つがうまく稼動しません。
マニュアルを色々読んでみても、はっきりとどこが悪いのかなどがよくわかりません。
現在、悩んでいるのは、

(1)ソート処理について
データファイル内に以下のデータがあるとします。
名前($name)、所属($shozoku)、得点合計($goukei)、A得点($ten1)、B得点($ten2)、C得点($ten3)・・・
たなか<>さくら組<>32<>12<>15<>9・・・
やまだ<>もも組<>29<>13<>11<>10・・・
すずき<>さくら組<>33<>14<>10<>15・・・
※<>は区切り文字です。

上記のデータをforeach文で読み込んで、得点合計順にWEBで表示させよう
としているんですが、読み込む際に下記の通りでいいのでしょうか。
これでは駄目なんでしょうか?下記で実行すると、データが1件も表示されません。

@line=sort { $goukei{$b} <=> $goukei{$a} } keys %goukei;
foreach(@line_sort){
($num,$shozoku,$goukei,$ten1,$ten2,$ten3) = split(/<>/,$line)


(2)合計点の集計
上記にも関係するんですが、WEBで指示した各点数(A得点、B得点・・・)を
集計した後、上記データファイルの得点合計に設定したいんですが、

unshift(@line,"$name<>$shozoku<>$goukei<>" . $v_ten . "<>\n");

上記のようにA得点以降は、フォーム上で繰り返し項目にしてあります。($v_ten)がn個あり、それを全て合計した値を得点合計($goukei)に設定した後にデータファイルへの書き込みがしたいのですが、どうすればよいのでしょうか。

なにぶん、CGIのプログラミングは素人の私ゆえ、ご質問がこれでよいのか不安がありますが、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

質問から適切な回答をするには、難しいような気がします。

状況にわからない点が多いから。
言葉で説明できないなら、一通りの流れがわかる範囲のソースを描いておいた方がいいのでは? (あまり長いと誰も呼んでくれないと思いますが。)

ちなみに、CGIとは仕組みの名前であって、プログラミング言語の名前では
ありません。質問は、perl という言語についてのものと思います。


質問(1)
データが1件も表示されないとのことですが、いろいろ可能性が考えられます。
print 文がない、 中カッコが閉じていない、perl 本体がない、などなど

質問(2)
$v_ten が n個あるのなら、n回足せばいいのでは? と思ってしまいますが、質問の意図は、そういうことではないですよね。

「フォーム上で繰り返し項目にしてあります。」の意味もわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報