| Tie-Hash-Indexed documentation | Contained in the Tie-Hash-Indexed distribution. |
Tie::Hash::Indexed - Ordered hashes for Perl
use Tie::Hash::Indexed;
tie my %hash, 'Tie::Hash::Indexed';
%hash = ( I => 1, n => 2, d => 3, e => 4 );
$hash{x} = 5;
print keys %hash, "\n"; # prints 'Index'
print values %hash, "\n"; # prints '12345'
Tie::Hash::Indexed is very similar to Tie::IxHash. However, it is written completely in XS and usually about twice as fast as Tie::IxHash. It's quite a lot faster when it comes to clearing or deleting entries from large hashes. Currently, only the plain tying mechanism is supported.
THI_DEBUG_OPTIf Tie::Hash::Indexed is built with debugging support, you
can use this environment variable to specify debugging
options. Currently, the only useful values you can pass
in are d or all, which both enable debug output for
the module.
As the data of Tie::Hash::Indexed objects is hidden inside the XS implementation, cloning/serialization is problematic. Tie::Hash::Indexed implements hooks for Storable, so cloning or serializing objects using Storable is safe.
Tie::Hash::Indexed tries very hard to detect any corruption in its data at runtime. So if something goes wrong, you'll most probably receive an appropriate error message.
If you find any bugs, Tie::Hash::Indexed doesn't seem to build on your system or any of its tests fail, please use the CPAN Request Tracker at http://rt.cpan.org/ to create a ticket for the module. Alternatively, just send a mail to <mhx@cpan.org>.
If you're interested in what I currently plan to improve (or fix), have a look at the TODO file.
Copyright (c) 2003 Marcus Holland-Moritz. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See perltie and Tie::IxHash.
| Tie-Hash-Indexed documentation | Contained in the Tie-Hash-Indexed distribution. |
################################################################################ # # $Project: /Tie-Hash-Indexed $ # $Author: mhx $ # $Date: 2007/08/24 15:10:13 +0200 $ # $Revision: 6 $ # $Source: /lib/Tie/Hash/Indexed.pm $ # ################################################################################ # # Copyright (c) 2002-2003 Marcus Holland-Moritz. All rights reserved. # This program is free software; you can redistribute it and/or modify # it under the same terms as Perl itself. # ################################################################################ package Tie::Hash::Indexed; use 5.004; use strict; use DynaLoader; use Tie::Hash; use vars qw($VERSION @ISA); @ISA = qw(DynaLoader Tie::Hash); $VERSION = do { my @r = '$Snapshot: /Tie-Hash-Indexed/0.05 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; bootstrap Tie::Hash::Indexed $VERSION; 1; __END__