何か値をいれておくことができる箱のようなものだと考えてください。変数には変数名をつけて区別をします。変数には「スカラー変数」、「配列」、「連想配列」の3種類があり、中に入れるデータによって使い分けます。変数名は、種類ごとの記号(「$」、「@」、「%」)から始まり、英字から始まる英数字もしくは「_」(アンダーバー)からなる文字列で表されます。
スカラー(文字列データ、数値データ)を入れるための変数です。スカラー変数名は「$」(ダラー)で始まります。
例
$name、$number、$var1、$var_1
リストを入れるための変数です。配列名は「@」(アットマーク)で始まります。配列のn番目の要素を表すには、「$」をつけた配列名に続けて、インデックス([n])を書きます。インデックスは0番から始まることに注意してください。
例
@array、@array_1、@meibo、$array[0]
別名ハッシュともいいます。連想配列は、文字列をインデックスとする配列です。連想配列名は「%」(パーセント)で始まります。特定の文字列に対応する要素を表すには、「$」をつけた連想配列名に続けて、インデックス({'文字列'})を書きます。
例
%array、%array_1、%meibo、$array{'みかん'}
プログラム言語によっては、変数を使う前に「この変数を使います」という宣言をしなければなりません。Perlでは変数の宣言は必要ないので、参考程度に学んでください。宣言が必要な言語としては、C、Pascal、Javaなどの言語があります。一般的に、宣言文は
変数の型 変数;の形で使われます。C言語の場合には、整数型の変数seisuuを使いたい場合には
int seisuu;などと書きます。
変数に値を入れたいときには、
変数=値;の形で書きます。これを「代入文」といいます。
例
$x = 1; # 変数$xに数値データ「1」を代入$z = "Hello, World!\n"; # 変数$zに文字列データ「"Hello,World!\n"」を代入
代入文の右辺に変数を書くことで、変数の値を参照することができます。例
Print文に書くことで変数の値を参照することができます。$y = $x; # 変数$yに変数$xの値を代入$array[0] = $x; # 配列@arrayの0番目の要素に変数$xの値を代入例
$x="Hello, World!\n"; print $x; # 変数$xの値を表示(「Hello, World!」と表示される)
Perlでは代入されていない変数にはundefという値が入っています。undefの具体的な値については後述することにします。プログラマーがundefの値を代入することも可能です。
例
$x = undef;