top

TOP  RSS  Login

Perl - Hash::Util

概要

ハッシュに関する様々な処理を行うサブルーチンを集めたモジュール。Perl 5.10 より標準モジュール。

サブルーチンを使用するためには、use とともにサブルーチン名を明示的に指定する。

提供されるサブルーチン

lock_keys(%hash), lock_keys(%hash, @keys)
%hash のキーの追加を制限する。@key が渡されれば、@key に含まれるキーのみに制限する。@key に含まれないキーが %hash に存在するとき、エラーとなる。
lock_keys_plus(%hash, @keys)
lock_keys と同様にキーの追加を制限するが、lock_key と異なり、%hash の既存キーに加えて @keys のキーを制限する。
unlock_keys(%hash)
%hash に対するキーの制限を解除する。
lock_value(%hash, $key)
%hash のキー $key の値の変更を制限する。
unlock_value(%hash, $key)
%hash のキー $key の値に対する変更の制限を解除する。
lock_hash(%hash)
%hash の変更を制限する。
unlock_hash(%hash)
%hash に対する変更の制限を解除する。
lock_hash_recurse(%hash)
%hash の変更を制限する。%hash 中のハッシュリファレンスに対しても再帰的に適用される。
unlock_hash_recurse(%hash)
%hash に対する変更の制限を解除する。%hash 中のハッシュリファレンスに対しても再帰的に適用される。
hash_unlocked(%hash)
%hash が制限されていなければ真を返す。(Hash::Util (0.7) では、記述がおかしいようでエクスポートされない。*hash_unlocked = \&Hash::Util::hash_unlocked と書くと使えるが……)
legal_keys(%hash)
%hash が制限されていれば、存在できるキーとして許されているキー名を返す。%hash が制限されていなければ、keys() と同様の動作を行う。
hidden_keys(%hash)
制限された %hash について、値と関連付けられていないキー名を返す。
all_keys(%hash, @keys, @hidden)
%hash について、値と関連付けられたキーを @keys へ、キー名として許されているが値が関連付けられていないキーを @hidden へ格納する。%hash が制限されていなければ、全てのキーが @keys へ入れられ、@hidden は空リストとなる。
hash_seed()
ハッシュの順番を決定するのに用いられる乱数種を返す。不用意に公開してはならない(perlsec を参照)。
hv_store(%hash, $key, $sv)
%hash のキー $key について、変数 $sv をエイリアスとして関連付ける。$hash{$key} への代入は $sv の値となり、$sv への代入は $hash{$key} の値となる。

ハッシュリファレンスに対する操作

上記のサブルーチンはハッシュ変数に対して行われるが、ハッシュへのリファレンスに対する操作には以下のサブルーチンを使用する。それぞれのサブルーチンは、おおよそ ref を除いたサブルーチンの動作と同様である。

  • lock_ref_keys
  • unlock_ref_keys
  • lock_ref_keys_plus
  • lock_ref_value
  • unlock_ref_value
  • lock_hashref
  • unlock_hashref
  • lock_hashref_recurse
  • unlock_hashref_recurse
  • hash_ref_unlocked
  • legal_ref_keys
  • hidden_ref_keys

リンク

Last modified:2008/12/07 17:36:51

ty

0.232814