MirBSD manpage: Tie::SubstrHash(3p)


Tie::SubstrHash(3Perl Programmers Reference GuTie::SubstrHash(3p)

NAME

     Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

SYNOPSIS

         require Tie::SubstrHash;

         tie %myhash, 'Tie::SubstrHash', $key_len, $value_len, $table_size;

DESCRIPTION

     The Tie::SubstrHash package provides a hash-table-like
     interface to an array of determinate size, with constant key
     size and record size.

     Upon tying a new hash to this package, the developer must
     specify the size of the keys that will be used, the size of
     the value fields that the keys will index, and the size of
     the overall table (in terms of key-value pairs, not size in
     hard memory). These values will not change for the duration
     of the tied hash. The newly-allocated hash table may now
     have data stored and retrieved. Efforts to store more than
     $table_size elements will result in a fatal error, as will
     efforts to store a value not exactly $value_len characters
     in length, or reference through a key not exactly $key_len
     characters in length. While these constraints may seem
     excessive, the result is a hash table using much less inter-
     nal memory than an equivalent freely-allocated hash table.

CAVEATS

     Because the current implementation uses the table and key
     sizes for the hashing algorithm, there is no means by which
     to dynamically change the value of any of the initialization
     parameters.

     The hash does not support exists().

perl v5.8.8                2005-02-05                           1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung