Changes for version v1.6.0 - 2026-07-03

  • New features
    • Added Module::Generic::_subinfo(), a pure-Perl introspection helper built on the core B module. It returns detailed information about a subroutine, including its short and fully-qualified names, package, source file and line, prototype, whether it is anonymous, a closure or an XSUB, together with a hash reference exposing the same information by name.
    • Added Module::Generic::_subname() as a lightweight convenience wrapper around _subinfo(), returning only the short subroutine name.
  • Improvements
    • Refactored Module::Generic::Number so that number representation is fully decoupled from formatting. Formatting state is now maintained by Module::Generic::Number::Format, reducing the memory footprint of Number objects that are used only as numeric values.
    • Improved clone() handling in Module::Generic::Number so cloned objects also clone and update their associated formatter, preserving formatting state across numeric operations.
    • Expanded the regression test suite for subroutine introspection, covering named subroutines, methods, anonymous subroutines, closures, prototypes, automatic caller detection, and compatibility across Perl releases from v5.16 through v5.40.
  • Bug fixes
    • Fixed format_bytes() so formatting failures are no longer masked by string concatenation, allowing errors from clone() and format() to propagate correctly.
    • Fixed the class-method path of clone() in both Module::Generic::Number and Module::Generic::Number::Format so the supplied numeric value is correctly propagated to the new object.

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
Locale-aware number formatting for Module::Generic::Number
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