![]() |
| カレッヂ |
質問者 小野塚貴弘
投稿日 7/4(金) 02:12:36
初めてPerlにチャレンジしています。
たとえばcliant.cgiというCGIが設置してあるとします。
プログラムは下記のようになっているものとします。
if ($id == 123) {
print "あいうえお\n";
}
if ($id == 456) {
print "かきくけこ\n";
}
HTMLの記述を<a href="cliant.cgi?id=123>あ行の表示</a>とした場合、
どのような記述を追加したらよいでしょうか?
変数の代入方法がわかりません。よろしくお願いします。
プロバイダ参照: |
回答者 まさ
[削除]
投稿日 7/4(金) 09:30:38
#!/usr/local/bin/perl
use CGI;
$q = new CGI;
$id = $q->param('id');
print "Content-type: text/html\n\n";
if ($id == 123) {
print "あいうえお\n";
}
elsif ($id == 456) {
print "かきくけこ\n";
}
|
質問者 小野塚貴弘
[削除]
投稿日 7/4(金) 13:47:48
できれば、今の条件だと2項目のみになってしまいます。 分岐点を複数(10個くらい)にするにはどのようにif文を変更すればよいのでしょうか? |
回答者 まさ
[削除]
投稿日 7/4(金) 14:57:07
単純にif文を並べるだけです。
if ($id == 123) {
print "あいうえお\n";
}
elsif ($id == 456) {
print "かきくけこ\n";
}
elsif () {
}
elsif () {
}
elsif () {
}
elsif () {
}
elsif () {
}
perlにはCのようなswitch文がないので見た目はあまり美しくないですけど、こう
するしかないです。
使い方にもよりますけど、条件によってある関数に飛ばすような場合にはリファレンス
を使えば関数テーブルのようなものも作れますけど、基本的には上のようにif文を並べ
るだけでしょうね。
|
返信(回答)する
| Web裏技 |