print "Hello World!\n";
というプログラムを実行しました。
今度はもっと複雑なプログラムを書いてみましょう。今回は、計算をするためのプログラムでも書いてみましょうか。
じゃあどんな計算をするか。。。それでは1から100までを順番に足していくプログラムを書いてみましょう。
1から100までを足す・・・というとふつうは人力でそんなことをしません。人力でやるとめんどうだからです。ふつうの人は計算機を使うか、あるいは少年時代のカール・フリードリヒ・ガウスなら計算を工夫して101×50と計算するでしょう(注1)。
今回は自分でプログラムを書いて求めてみましょう。
1、まず、Perlで計算をするための基礎を学びましょう。数学や物理では計算に代数を使いますが、Perlではスカラー変数を使って計算します。変数名の頭には $ をつけ、 アルファベットから始めなくてはいけません。2文字目以降は数字、アルファベットおよびアンダースコア ( _ ) を使うことができます。ハイフン( - )は使えません。アルファベットの大文字・小文字は区別されます。
○ $abc
○ $abc5
○ $a_b
× $5abc
× $_abc
× $a-b
2、スカラー変数に代入します。
$a = 1;
$b = 2;
$c = 3;
こう記述すると、$a には 1 が、 $b には 2 が、 $c には 3 が代入されます。
printを使って、画面に表示してみましょう。
1~3行目でスカラー変数に代入しています。4行目でこの変数を文章と一緒に表示します。
このプログラムを実行してみます。
すると、上記のような結果になりました。プログラムは $a などのスカラー変数の場所に、代入された数字を表示していますね。
気をつけなくてはいけないのは、数学とは (=)イコール の扱いが若干違うことです。
$a = 1;
$a = 2;
$a = 3;
このように記述することは、数学ではできません。しかし、プログラミングではできます。では、 $a はいまどんな値が代入されているのでしょうか。
これを実行してみます。
これが実行結果です。$a には 3 が代入されていることがわかりました。
数学では (=)イコール は「等しい」という意味です。しかし、プログラミングでは、このように、等しいというよりは、「~を代入する」という意味合いが強くなります。
プログラミングでは、プログラムを実行すると、上の記述からから順に実行されていきます。そのため、上記のプログラムでは $a に 1 が代入され、次に 2 が代入され、最後に 3 が代入されました。そのため、 $a は最終的に 3 として扱われているのです。
続く・・・。