連想配列について
連想配列の作り方
%seasons=('SP'=>'Spring', 'SU'=>'Summer', 'F'=>'Fall', 'W'=>'Winter');
参照はこんな感じ。
print $seasons{'SP'}, "\n"; # print Spring
スカラ変数と配列変数は分けられるため、同じ変数名に入れても大丈夫。
$seasons = $seasons{'SP'};
print $seasons, "\n";
print %seasons, "\n";
連想配列をファイルから作る
name が改行区切りで書いてあるファイルを作る。
open(NAMES, "names.txt") || die "Can't open names.txt: $!\n";
while(<NAMES>) {
$num = $.;
chomp($name=$_);
$list{$num} = $name;
print "$num : $name\n";
}
close NAMES;
while(1) {
print "Number for which name?";
chomp ($num = <STDIN>);
last unless $num;
$name = $list{$num};
if ($name) {
print "Name: $name\n";
} else {
print "Not Found.\n";
}
}
特殊な連想配列
ENV
環境変数の連想配列。
keyには環境変数名。valにはその値。
SIG
シグナルハンドラの連想配列。
keyにはシグナル名。valにはハンドラ(どうやって実行するか決めれる)。
デフォルトでは、'DEFAULT'というハンドラが格納されており、強制中断させる処理がはいっている。
INC
do関数、またはrequire関数によってインクルードされたファイルエントリ。
keyはファイル名、値はファイルのパス。
最終更新:2011年07月17日 21:59