Tie::SubstrHash - 固定表大小、固定键长哈希
require Tie::SubstrHash;
tie %myhash, 'Tie::SubstrHash', $key_len, $value_len, $table_size;
Tie::SubstrHash 包提供了一个类似哈希表的接口,用于访问一个固定大小的数组,该数组具有固定键长和记录大小。
在将一个新的哈希表绑定到该包时,开发者必须指定将使用的键的大小、键索引的值字段的大小以及整个表的的大小(以键值对为单位,而不是以实际内存大小为单位)。这些值在绑定的哈希表的生命周期内不会改变。现在,新分配的哈希表可以存储和检索数据。尝试存储超过 $table_size
个元素或存储长度不完全为 $value_len
个字符的值,或者通过长度不完全为 $key_len
个字符的键进行引用,都会导致致命错误。虽然这些限制可能看起来过于严格,但结果是哈希表使用的内部内存比等效的自由分配哈希表少得多。
由于当前实现使用表大小和键大小进行哈希算法,因此无法动态更改任何初始化参数的值。
哈希表不支持 exists()。