=head1 NAME Enjoy! Perl Programming - No.31 =head1 SYNOPSIS ハッシュ変数 %hash $hash{'key'} = 'val' =head1 DESCRIPTION Perl言語のハッシュ変数について。 %hash = ('key1', 'val1', 'key2', 'val2'); $hash{'key3'} = 'val3'; print $hash{'key1'}; =head2 ハッシュ変数とは何か ハッシュとはキーと値の組を指す。このキーと値の組のリストを ハッシュリストという。 ('key1', 'val1', 'key2', 'val2') ハッシュ変数はハッシュリストを格納する変数のことを言う。 %hash = ('key1', 'val1', 'key2', 'val2'); ハッシュ変数の初期化では、キーと値の組を明確に示す為に 次の方法が一般的に用いられる。 %hash = ('key1' => 'val1', 'key2' => 'val2'); ハッシュ変数は先頭に "%" を付けて表す。キーは重複を許されない。 %hash = ('key1', 'val1', 'key2', 'val2'); print %hash; # key1val1key2val2 $hash{'key1'} = 'val1-1'; print %hash; # key1val1-1key2val2 配列と違いハッシュの組は順番を保証されない。 =head2 ハッシュ変数から値を取出す 指定したキーの値を取出すには次のようにする。 $val = $hash{'key'}; =head2 ハッシュ変数にキーと値の組を追加する ハッシュ変数にキーと値の組を追加するには次のようにする。 $hash{'key'} = 'val'; =head2 ハッシュを操作する標準関数 ハッシュ変数に格納されたキーと値の組を操作する標準関数が用意 されている。以下に例を示す。 # each 関数。ハッシュ変数からキーと値の組を取出す。 while (($key, $val) = each %hash) { print "$key=$val\n"; } # keys 関数。キーのリストを取得する。 @keys = keys %hash; # values 関数。値のリストを取得する。 @values = values %hash; # delete 関数。キーと値のリストを削除する。 delete $hash{'key'}; # exists 関数。キーが存在するかを確認する。 exists $hash{'key'}; =head1 SEE ALSO "each","keys","values","delete", "exists" 関数のドキュメントページ。 "perldata","perlfaq4" ドキュメントページ。 =head1 TESTED OS : Windows 2000 Perl: ActivePerl v5.6.1 build 631 =head1 AUTHOR Name:吉田和弘(YOSHIDA Kazuhiro) Email:y-kazu@lares.dti.ne.jp Homepage:http://www.lares.dti.ne.jp/~y-kazu/perl/