The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Tie::Hash::Indexed - Ordered hashes for Perl

SYNOPSIS

  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'

DESCRIPTION

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.

ENVIRONMENT

THI_DEBUG_OPT

If 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.

PROBLEMS

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.

BUGS

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>.

TODO

If you're interested in what I currently plan to improve (or fix), have a look at the TODO file.

COPYRIGHT

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 ALSO

See perltie and Tie::IxHash.