Changes for version 0.18 - 2026-09-01
- Fix three crash windows that could corrupt a map when a writer was killed mid-operation: a removed entry's key, the entry count that resize() trusts, and a string's offset/length pair.
- A cursor whose map was explicitly destroyed now croaks instead of reading freed memory.
- List-returning keywords no longer force list context, so one used in scalar context stops adding values to the enclosing call.
- reserve() rejects an out-of-range target instead of truncating it or reporting success.
- Correct the crash-safety, iteration and upgrade notes; report NA instead of failing to build on a big-endian architecture.
Documentation
Practical recipes for shared-memory maps
Modules
Multiprocess shared-memory hash maps with LRU eviction and per-key TTL
Provides
in lib/Data/HashMap/Shared/I16.pm
in lib/Data/HashMap/Shared/I16S.pm
in lib/Data/HashMap/Shared/I32.pm
in lib/Data/HashMap/Shared/I32S.pm
in lib/Data/HashMap/Shared/II.pm
in lib/Data/HashMap/Shared/IS.pm
in lib/Data/HashMap/Shared/SI.pm
in lib/Data/HashMap/Shared/SI16.pm
in lib/Data/HashMap/Shared/SI32.pm
in lib/Data/HashMap/Shared/SS.pm