プロが教えるわが家の防犯対策術!

フォーム上でアンケートを集計するプログラムを書いています。
年代、性別、回答という項目があり、各回答につき、年代と性別別の表を出力するものです。
IF文でやれば出来るのですが、プログラムを極力短くするために、フォームの回答から一定の変数を書き出して計算させる方法を考えています。

例えば30代の男で1番に回答があった時には、データは"age=30&sex=man&ans=1"という具合で渡されてくるので、これを並べて変数名として扱い、変数"$30man1"に1をプラスするというようなことを行いたいのですが、試行錯誤してもうまくいきませんでした。
文字列を並べた値を変数名として認識させるところがダメなようです。

可能であれば、方法をご存じの方、お教えいただければ幸いです。

よろしくお願いします。

A 回答 (2件)

文字列を変数名として使うには、シンボリックリファレンスと言う機能を使います。


  ${"文字列"}
とすれば、この「文字列」を変数名として
  ${"文字列"} = 10;
のように使うことができます。

ところが
  ${"30man1"}
は、変数名が数字で始まることになってしまうので、必ず文字になる値を先頭に持ってくるか、ダミーで1文字入れるかしないとだめです。

ところで、これはPerlの話でよいのでしょうか?
CGIを作っているのだとしても、言語の問題で質問するなら、そちらのカテゴリで質問すべきですよ?
    • good
    • 0

連想配列でいきましょう。

    • good
    • 0

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