Changes for version v1.5.5 - 2026-06-04

  • Fixed grouping detection in Module::Generic::Number to correctly interpret POSIX::localeconv()'s grouping and mon_grouping byte strings. Empty values, a leading zero byte, and CHAR_MAX byte (>= 127, meaning "no further grouping") are now all normalised to 0 consistently. Previously, a CHAR_MAX byte could be stored as 127 and used as a group size in format(), which would produce incorrect output on very large numbers.
  • Updated t/02.num.t to mirror this normalisation and to construct its expected formatted output dynamically based on the resolved grouping size, rather than mechanically assuming a 3-digit group. This fixes spurious FAIL reports on smokers where the system locale does not provide a grouping value (observed on FreeBSD 10.3 with de_DE.ISO8859-1).

Documentation

An Enhanced DateTime::Duration Object
An Array Iterator Element Object Class
A Regexp Result Object
Shared Memory Manipulation

Modules

Generic Module to inherit from
An Array Manipulation Object Class
Boolean Representation Class
A DateTime wrapper for enhanced features
Dynamic Object Class
Generic Module Exception Class
File Object Abstraction Class
File-based Cache
File IO Object Wrapper
File type and MIME detection with 3-level backend cascade
MMap File Class
File Info Object Class
Contextual global storage by namespace, class or object
Hash Manipulation Object Class
Generic Header Value Parser
An Array Iterator Object Class
A thin and reliable wrapper around JSON
Null Value Chaining Object Class
Number Manipulation Object Class
String Manipulation Object Class
Generic Module Scalar IO Class
Shared Memory Manipulation
Shared Memory Manipulation with XS API
Object Access Control Class
Generic Tie Hash Mechanism for Object Oriented Hashes

Provides

in lib/Module/Generic/DateTime.pm
in lib/Module/Generic/Number.pm
in lib/Module/Generic/Iterator.pm
in lib/Module/Generic/Number.pm
in lib/Module/Generic/Number.pm