CGI 作成の初歩 |
|
6. 文字列の扱い方を練習する |
HTMLページで文字列の間に変数の内容を表示してみます。
実行結果 |
変数$a に入っているのは 100 です。 変数$a に100を足した数は 200 です。 |
上の例のように、HTMLで書き出したページの中にそのまま変数を使い、内容を表示する事ができます。
変数をHTMLページ内で使うと変数の内容が表示されるので、使いたくない場合(そのまま
$a と表示したい場合) は
\$a のように先頭に \ を付けてエスケープします。
例えば今回の例では $a に内容が入っていますので、数字が表示されますが、使われていない変数(
$bbb など) を
同様に挿入していたとすると、変数の中には何も入っていませんので、$bbb など入れた場所には何も表示されません。
このように CGI で書き出すHTMLページには自由に変数が使えるので、カウンタやチャットの人数表示など通常は
SSI などを使わなければ表示できない値でも、自由に表示する事ができます。
|
ダブルクォーテーション(”)とシングルクォーテーション(’)の違い |
変数に入れる時、文字列をダブルクォーテーションで囲うかシングルクォーテーションで
囲うかにより、展開されるか、展開されずにそのまま表示されるかの違いがあります。
実行結果 |
ダブルクォーテーション 太郎 シングルクォーテーション $a |
ダブルクォーテーションで囲った方は変数 $a に入っている値を表示していますが、
シングルクォーテーションで囲ったほうは変数名 $a がそのまま表示されています。
これは変数の内容を展開して表示するか、展開せずそのまま文字列として扱うか
の違いです。
このダブルクォーテーションとシングルクォーテーションの違いは、ページを書き出す print <<"HTML"; に
ついても同じ事で、今の表示はダブルクォーテーションで囲ってあるので、ページ内で展開された変数の値
が表示されていますが、 print <<'HTML'; とすると、何も展開は行われません。
|
文字列の連結を行う |
文字列同士を連結してみます。
文字列の連結は、 . を使って行い、文字列同士だけでなく、変数の値とも連結できます。
$a には 太郎 と 花子 が連結されたものが
$b には $a に入っている値に です を連結したものが入ります。
文字列はそれぞれ "" もしくは '' で囲って下さい。
変数の内容を結合したい場合、ダブルクォーテーションで囲って並べても結構です。
また、HTML内で変数を続けて書いても連結して表示されます。
|
文字列の比較を行う |
文字列が等しいか等しくないか、大きいか小さいかなどの比較が行えます。
実行結果 |
$a は太郎です。 $b は太郎ではありません。 |
文字列比較演算子 (文字列の比較) |
eq |
右辺と左辺の文字列が等しければ |
ne |
右辺と左辺の文字列が等しくなければ |
lt |
左辺が右辺より小さければ |
gt |
左辺が右辺より大きければ |
le |
左辺が右辺より小さいか等しければ |
ge |
左辺が右辺より大きいか等しければ |
文字列の大きい、小さいとは ASCII コードと呼ばれる文字コードの登録順により決定されます。
例えばアルファベットの場合 a b c d ・・・ という順番ですので、 a は b より小さい、
b は c より小さい事になります。
左辺、右辺共に変数でも構わず、それぞれの変数に入っている値を文字列として比較します。
|
次項ではループ (繰り返し処理) についての説明を行っています。
ループは間違えた書き方をすると 無限ループといって、永遠に終わらない状態となり、
サーバに異常な負荷を与えてしまう原因となりますので、注意して書きましょう。 |
|
|
|