- 配列 -

Perlとは サンプル

◆配列を表すのは @


@menber = ("座間","山田","松岡","福島","長岡");
print "メンバー全員:",@menber,"\n";

<<結果>>
メンバー全員:座間山田松岡福島長岡
-------------------------------------------------------
print "メンバー全員:@menber\n"; #"",""で区切らず1行で記述すると

<<結果>>
メンバー全員:座間 山田 松岡 福島 長岡 #スペースが開く

「スカラー値」が何個か合さったものが「配列」になる。配列は@で表す。

だから取り出す時は、@から$のスカラー値になる。


print "1人目は $member[0]\n";

Perlとは

◆配列の要素数

配列の前に「$#」を付けると、要素の添え字の最大値を求める事が出来る。


@a = ("太郎","次郎","三郎","四郎");
$b = $#a;

print $b;
-------------------------------------------------------
<<結果>>
3 #要素が全くない場合には、-1を返す。

配列にいくつ文字が入っているか分からない時に便利!!

Perlとは

連想配列は % で始まる。キーとバリューの組み合わせの配列を連想配列と言う。


%fruite = ("赤","りんご",
			"紫","ぶどう",
			"黄","ばなな",
			"緑","キウイ");
			
			
print "フルーツ全部:" , %fruite , "\n";
print "フルーツ全部:%fruite \n";

print "赤のフルーツは? $fruite{'赤'} \n";
-------------------------------------------------------
<<結果>>
フルーツ全部:緑キウイ紫ぶどう赤りんご黄ばなな
#キーとバリューはセットだけど、記述した順番が違って表示される
フルーツ全部:$fruite

赤のフルーツは? りんご
#だから、キーに対応するバリューを探して $fruite{'赤'} 表示させる

配列の時の添え字は[0]数字になる。何番目を参照する為。

連想配列の時は{'赤'}シングルクウォートでくくる。

キーとバリューはセットでなくてはならないので、以下のように =>と表示させる事も出来る。


%fruite = ("赤"=>"りんご","紫"=>"ぶどう","黄"=>"ばなな","緑"=>"キウイ");

print %fruite,"\n";
print $fruite{'黄'}; #全部取り出す時は % 個別に取り出す時は $
-------------------------------------------------------
<<結果>>
緑キウイ紫"ぶどう赤りんご黄ばなな
ばなな

◆連想配列の書き換え

サンプル Perlとは

◆すべてのキーを取得keys関数


%fruite = ("赤"=>"りんご","紫"=>"ぶどう","黄"=>"ばなな","緑"=>"キウイ");
@a = keys %fruite;

print @a;
-------------------------------------
<<結果>>
緑紫赤黄

◆すべての値を取得values関数


%fruite = ("赤"=>"りんご","紫"=>"ぶどう","黄"=>"ばなな","緑"=>"キウイ");
@a = values %fruite;

print @a;
-------------------------------------
<<結果>>
キウイぶどうりんごばなな

◆キーと値、両方の取得each関数


%fruite = ("赤"=>"りんご","紫"=>"ぶどう","黄"=>"ばなな","緑"=>"キウイ");

while(($key, $val) = each %fruite){
	print $key, "-";
	print $val, "\n";
}
-------------------------------------
<<結果>>
緑-キウイ
紫-ぶどう
赤-りんご
黄-ばなな

※何が収まっているか分からない連想配列がある時、each関数を使って、キーと値に分けた一覧を見る事が出来る