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

CGIのソート処理、配列データの合計値計算と書き込み・・・

  • 困ってます
  • 質問No.159802
  • 閲覧数128
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 66% (6/9)

ご存知でしたら、お教えください。
現在、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のプログラミングは素人の私ゆえ、ご質問がこれでよいのか不安がありますが、よろしくお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 33% (21/62)

質問から適切な回答をするには、難しいような気がします。状況にわからない点が多いから。 言葉で説明できないなら、一通りの流れがわかる範囲のソースを描いておいた方がいいのでは? (あまり長いと誰も呼んでくれないと思いますが。) ちなみに、CGIとは仕組みの名前であって、プログラミング言語の名前では ありません。質問は、perl という言語についてのものと思います。 質問(1) データが1 ...続きを読む
質問から適切な回答をするには、難しいような気がします。状況にわからない点が多いから。
言葉で説明できないなら、一通りの流れがわかる範囲のソースを描いておいた方がいいのでは? (あまり長いと誰も呼んでくれないと思いますが。)

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


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

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

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


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

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ