トップ > Perl Tips > 配列変数


 ■ 配列変数

配列とは、データに順番をつけて並べたもので、
そのリストの中でのデータの位置によって自由にアクセスできるものです。
そして、この配列を変数にしたものを、配列変数といいます。
配列変数の名前は、@ + 英字1文字から始まり、
それ以降は英数字および「_」を用いることができます。「-」は使用できません。
また大文字と小文字が区別されますので、たとえば @a と @A は別物として扱われます。

○ @xxx123
× @123xxx (数字ではじめることはできない。ただし、2文字目以降は使える。)
○ @xxx_123
× @xxx-123 (ハイフンは使用できない。アンダースコアは使える。)

変数なので、数値や文字列を代入することができます。

@x = (1, 2, 3); @x に 1, 2, 3 をこの順序で代入 (数値)
@y = ("yahoo", "google"); @y に yahoo と google をこの順序で代入 (文字列)
@z = ($a, $b, $c); @z に $a, $b, $c をこの順序で代入 (変数)

配列変数の中のデータは、$配列変数名 [数字] という形式で表すことができます。

この数字は 0 から始まります。
したがって、配列の1番目から3番目のデータにアクセスするには、
0 から 2 までを数字として使用することになります。
以下の場合、パターン1とパターン2は、まったく同じ意味になります。

パターン1
@search = ("google", "yahoo", "goo");
パターン2
$search[0] = "google";
$search[1] = "yahoo";
$search[2] = "goo";

配列の各データには、数字を指定することで、以下のようにしてアクセスすることができます。
@search = ("google", "yahoo", "goo");
print $search[1];

<出力結果>
yahoo

配列の最後のデータの数字は、$#変数名 という変数で表すことができます。

@search = ("google", "yahoo", "goo");
$num = $#search + 1;
print "この中に検索サイトは$num個あります。";
(+1を必ずつけてください。つけないと、0から始まって2で終わるため、2になります。)

<出力結果>
この中に検索サイトは3個あります。

配列の個数は、左辺のスカラー変数に代入することができます。

@search = ("google", "yahoo", "goo");
$num = @search;
print "この中に検索サイトは$num個あります。";

<出力結果>
この中に検索サイトは3個あります。

また、以下のようにして、配列に代入しデータを追加することができます。

@search = ("google", "yahoo", "goo");
@search = (@search, "infoseek");
print "@search";

<出力結果>
google yahoo goo infoseek




トラックバック

このエントリーのトラックバックURL:
http://easycgi.xrea.jp/mt-tb.cgi/25