home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _ab6eb06536f8beeb4a86703572aef97d < prev    next >
Text File  |  2000-03-23  |  3KB  |  78 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#caveats">CAVEATS</A></LI>
  26. </UL>
  27. <!-- INDEX END -->
  28.  
  29. <HR>
  30. <P>
  31. <H1><A NAME="name">NAME</A></H1>
  32. <P>Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing</P>
  33. <P>
  34. <HR>
  35. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  36. <UL>
  37. <LI>Linux</LI>
  38. <LI>Solaris</LI>
  39. <LI>Windows</LI>
  40. </UL>
  41. <HR>
  42. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  43. <PRE>
  44.     require Tie::SubstrHash;</PRE>
  45. <PRE>
  46.     tie %myhash, 'Tie::SubstrHash', $key_len, $value_len, $table_size;</PRE>
  47. <P>
  48. <HR>
  49. <H1><A NAME="description">DESCRIPTION</A></H1>
  50. <P>The <STRONG>Tie::SubstrHash</STRONG> package provides a hash-table-like interface to
  51. an array of determinate size, with constant key size and record size.</P>
  52. <P>Upon tying a new hash to this package, the developer must specify the
  53. size of the keys that will be used, the size of the value fields that the
  54. keys will index, and the size of the overall table (in terms of key-value
  55. pairs, not size in hard memory). <EM>These values will not change for the
  56. duration of the tied hash</EM>. The newly-allocated hash table may now have
  57. data stored and retrieved. Efforts to store more than <CODE>$table_size</CODE>
  58. elements will result in a fatal error, as will efforts to store a value
  59. not exactly <CODE>$value_len</CODE> characters in length, or reference through a
  60. key not exactly <CODE>$key_len</CODE> characters in length. While these constraints
  61. may seem excessive, the result is a hash table using much less internal
  62. memory than an equivalent freely-allocated hash table.</P>
  63. <P>
  64. <HR>
  65. <H1><A NAME="caveats">CAVEATS</A></H1>
  66. <P>Because the current implementation uses the table and key sizes for the
  67. hashing algorithm, there is no means by which to dynamically change the
  68. value of any of the initialization parameters.</P>
  69. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  70. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  71. <STRONG><P CLASS=block> Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing</P></STRONG>
  72. </TD></TR>
  73. </TABLE>
  74.  
  75. </BODY>
  76.  
  77. </HTML>
  78.