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


Tie-Hash-Indexed documentation Contained in the Tie-Hash-Indexed distribution.

Index


Code Index:

NAME

Top

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

SYNOPSIS

Top

  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

Top

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

Top

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

Top

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

Top

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

Top

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

COPYRIGHT

Top

SEE ALSO

Top

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__