へたれCGI講座



11:スカラー変数(その1)編


 今回は予告通りPerlの変数、スカラー変数についてです。
 見に来てくださってる方は結構いるようなのですが、BBSにあまりにも書込が少ないの で、今回はドナ様(強調までしちゃうぞ)のためにお送りします(笑。

 さてさて、スカラーなんて大袈裟な名前が付いちゃうと、引いてしまう方もいるかもしれま
せんが、大丈夫、心配しないでください。 $aなど、「$」の後に_(アンダーバー)か半角英字 が付いた物がスカラー変数だと覚えればOKです。

注:$の後はだいたい半角英字です。また、$の直後に(アンダーバー)を付け、
  三文字目以降は英字($_aなど)という使い方もできます。しかし「$_」だけは
  スカラー変数ではなく、特別な意味を持つので変数として使用しないよう
  に注意してください。


【スカラー変数の特徴】
 さて、ここでスカラー変数の特徴をお話しましょう。
普通、プログラムでは変数を使う場合、「これは整数」「これは小数点つき」「これは文字」と 区別され、変数も「この文字をこういう変数として使いますよ」と最初に定義しなければなり ません。
 しかし、Perlの場合、その定義は必要ありません。いきなりばーんと「$a」とか書いちゃって
も「了解、これ変数ねー」と理解してくれちゃいます。 さらに、数字とか文字とかの判断も 勝手にやってくれます。 よく言えば定義しなくていいから楽ちん、悪く言えば大雑把って 感じでしょうか(笑。
 しかしこの辺りの曖昧さが、Perlの便利なところとも言えるかもしれません。


【定数って?】
 いきなり話が飛んでごめんなさい。前回書いておくべきだったのですが、本格的に変数に
入る前に記述しておきます。
 「変数」はみなさんなんとなく理解されたと思いますが、変数の反対語で「定数」というもの があります。 変数は箱、ですが定数は「定まった値」、つまり変化しない値のことです。
 前回 a = a + 1 という例を出しましたね。 これをスカラー変数として表記すると
 $a = $a + 1 となります。これは「スカラー変数」=「スカラー変数」+「定数」です。
 そんなに必要ない知識ではありますが、一応他サイトさんの説明を読む際に、解らないと
困ると思いますので覚えておいてください。


【スカラー変数への文字の代入】
 変数、と言われるとやはり「変わる数」だから数しか代入できないような気がしますが、
もちろん文字も代入できます。 ここで以前学んだ(")ダブルクォーテーションなどを使うので す。 実際の記述方法を見てみましょう。
 $name = "はな";
これで$nameには「はな」という文字が代入されました。  この記述の後に、以前学んだようにPrint命令を使うと
 print "私の名前は$nameです\n";
という感じになり、実行すると「私の名前ははなです」と記述されます。

 ここではまだ単純なプログラミングですが、今後$nameの部分に、ユーザーが記述したものを 代入すると、「私の名前は○○です」という具合になってくる訳です。
 なんだかプログラミングしてるぞ!って気がしてワクワクしてきませんか?

 さて、今回はこの位にしておきましょうか。
次回はスカラー変数で陥りやすいミスや、謎に迫りたいと思います。


BACK NEXT
CGI-Index TOP