変数の種類と宣言

広告

文字列や数値などの値を格納するためのものを単に変数と呼ぶことが多いですがPerlでは変数にはいくつか種類があります。単に値を格納するために使われる変数は正式にはスカラー変数と呼ばれるものです。

Perlではスカラー変数の他に配列変数、ハッシュ変数(連想配列変数)などがあります。

変数の種類利用方法
スカラー文字列や数値などの値を1つ格納する
配列複数の値を順番に保存する
ハッシュ複数の値を、キーと値のペアで保存する

単に変数と呼ぶときはスカラー変数のことを指していると考えて下さい。

変数の宣言

Perlで変数を使用する場合には変数を宣言する必要があります。変数の宣言には変数の種類毎に用意されたプレフィックスに変数名を付けて記述します。

プレフィックス + 変数名

変数の種類毎のプレフィックスと使用例は次の通りです。

変数の種類プレフィックス使用例
スカラー$$var
配列@@var
ハッシュ%%var

スカラー変数を使用する場合は例えばプログラムの中で次のように記述します。

$var;

これで変数名「var」と言うスカラー変数を宣言したことになります。変数を宣言すると今後変数を利用することが可能となります。

変数の有効範囲

Perlにおいて前述したような変数の宣言を行うとプログラム中のどこでも使用できる変数となります。どこでも使用できる変数は便利な反面、予期しない問題を起こす事もあります。そこで変数が有効となる範囲を出来るだけ限定し、有効範囲を抜けると変数が使えなくなるようにしておくことでトラブルを未然に回避することが出来ます。

変数が宣言されたブロック内でのみ有効とするには変数宣言の前に「my」を記述します。(ブロックなどの考え方については別のページで詳しく見ていきますので取りあえず気にしないで下さい)。

my $var;

「my」はスカラー変数だけではなく配列変数やハッシュ変数にも使用することが出来ます。

my @var;
my %var;

複数の変数に対して「my」を使用する場合は次のように記述することも出来ます。

my ($a, $b, %c);

今後変数を使用する場合には基本的に「my」を付けて変数を宣言します。

( Written by Tatsuo Ikura )