3 � 355ÄÂÆ c
The requested URL was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
ˆÀÉ 0ÈÂÆ ˆÀÉ 0ÈÂÆ < ˆl—Ðz¾”Êe¶…6 ¸Û7}LZ7ÿÊ „a ¿Éa–ß=¿JJj"Tâ€zã-ÜmÅ1hßÈ ?÷ package Hash::Util; require 5.007003; use strict; use Carp; use warnings; no warnings 'uninitialized'; use warnings::register; use Scalar::Util qw(reftype); require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw( fieldhash fieldhashes all_keys lock_keys unlock_keys lock_value unlock_value lock_hash unlock_hash lock_keys_plus hash_locked hash_unlocked hashref_locked hashref_unlocked hidden_keys legal_keys lock_ref_keys unlock_ref_keys lock_ref_value unlock_ref_value lock_hashref unlock_hashref lock_ref_keys_plus hidden_ref_keys legal_ref_keys hash_seed hash_value hv_store bucket_stats bucket_stats_formatted bucket_info bucket_array lock_hash_recurse unlock_hash_recurse lock_hashref_recurse unlock_hashref_recurse hash_traversal_mask bucket_ratio used_buckets num_buckets ); BEGIN { # make sure all our XS routines are available early so their prototypes # are correctly applied in the following code. our $VERSION = '0.23'; require XSLoader; XSLoader::load(); } sub import { my $class = shift; if ( grep /fieldhash/, @_ ) { require Hash::Util::FieldHash; Hash::Util::FieldHash->import(':all'); # for re-export } unshift @_, $class; goto &Exporter::import; } =head1 NAME Hash::Util - A selection of general-utility hash subroutines =head1 SYNOPSIS # Restricted hashes use Hash::Util qw( fieldhash fieldhashes all_keys lock_keys unlock_keys lock_value unlock_value lock_hash unlock_hash lock_keys_plus hash_locked hash_unlocked hashref_locked hashref_unlocked hidden_keys legal_keys lock_ref_keys unlock_ref_keys lock_ref_value unlock_ref_value lock_hashref unlock_hashref lock_ref_keys_plus hidden_ref_keys legal_ref_keys hash_seed hash_value hv_store bucket_stats bucket_info bucket_array lock_hash_recurse unlock_hash_recurse lock_hashref_recurse unlock_hashref_recurse hash_traversal_mask ); %hash = (foo => 42, bar => 23); # Ways to restrict a hash lock_keys(%hash); lock_keys(%hash, @keyset); lock_keys_plus(%hash, @additional_keys); # Ways to inspect the properties of a restricted hash my @legal = legal_keys(%hash); my @hidden = hidden_keys(%hash); my $ref = all_keys(%hash,@keys,@hidden); my $is_locked = hash_locked(%hash); # Remove restrictions on the hash unlock_keys(%hash); # Lock individual values in a hash lock_value (%hash, 'foo'); unlock_value(%hash, 'foo'); # Ways to change the restrictions on both keys and values lock_hash (%hash); unlock_hash(%hash); my $hashes_are_randomised = hash_seed() !~ /^\0+$/; my $int_hash_value = hash_value( 'string' ); my $mask= hash_traversal_mask(%hash); hash_traversal_mask(%hash,123