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
0.073492