「変数」とは?
変数は整理ボックスのようなものです
Perl のスカラー変数
Perl の変数の一つとしては「$hensumei」という形式がありましたね。これは例えば、以下のように計算する数値や計算結果を保存するために使います。
my $taro_name = '太郎'; my $taro_shincho = 1.6; #メートル my $taro_taiju = 60; #kg my $taro_bmi = $taro_taiju / ($taro_shincho * $taro_shincho); print "${taro_name}の BMI は $taro_bmi です。\n";ここでは、太郎さんの名前($taro_name)と身長($taro_shincho)、体重($taro_taiju)を保存し、また、BMI を計算した結果も出力前に一時保存しています($taro_bmi)。
このように、一つの変数名につき一つの値を保存できる変数を「スカラー変数」と呼び、Perl では「$」を使って、この変数がスカラー変数である事を示します。
Perl のハッシュ
ハッシュは引き出し付の整理ボックス
変数が「ハッシュ」である事を表す記号は「%」です。例えば、上のプログラムは、ハッシュを使うと以下のように書き換える事ができます。
my %taro; $taro{name} = '太郎'; $taro{shincho} = 1.6; #メートル $taro{taiju} = 60; #kg $taro{bmi} = $taro{taiju} / ($taro{shincho} * $taro{shincho}); print "$taro{name}の BMI は $taro{bmi} です。\n";
変数宣言が1カ所に減っていて、「name」や「shincho」など、先ほどは変数名の一部にしていた部分が { と } に囲まれていますね。
ハッシュの形式は、以下の通りです。
- 変数宣言する時は変数名に「%」を付ける
- 代入や参照(変数の値を使う事)の時は $変数名{キー名} と書く
>次は:変数宣言と同時にハッシュに代入する方法