アットウィキロゴ

perl > asarray

連想配列について

連想配列の作り方

%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