Recent Perl modules, releases and favorites.
Last updated 30 November 2025 08:31 PM
Last updated 30 November 2025 08:31 PM
Object-Pad
Release | 30 Nov 2025 07:46 PM | Author: PEVANS | Version: 0.822
Upvotes: 46 | CPAN Testers
A simple syntax for lexical field-based objects
"Object::Pad" is a Perl module that simplifies the creation of object-oriented classes using a syntax that resembles lexical variables for defining fields. Designed for Perl versions 5.26 and later, it allows developers to define classes with private member fields and methods in a straightforward manner, enhancing readability and maintainability. The module serves as a test-bed for future class-based features in Perl, ensuring compatibility with upcoming core enhancements. Recent updates include the addition of the `:lexical_new` class attribute, which facilitates various design patterns and API shapes, reflecting the module's ongoing evolution and commitment to modern Perl practices.
Bitcoin-Secp256k1
Release | 30 Nov 2025 11:19 AM | Author: BRTASTIC | Version: 0.011
Upvotes: 1 | CPAN Testers
Perl interface to libsecp256k1
The Bitcoin::Secp256k1 Perl module provides a robust interface to the libsecp256k1 library, enabling developers to perform essential elliptic curve cryptography operations specifically for the secp256k1 curve, which is widely used in Bitcoin and other cryptocurrencies. With this module, users can create public keys from private keys, sign messages using both traditional and Schnorr signature methods, and verify signatures, including recoverable signatures that allow the public key to be derived from the signature itself. The module also includes functionality for signature normalization, key compression, and various mathematical operations on keys, making it a comprehensive tool for developers working with Bitcoin-related applications. It requires the libsecp256k1 library to be installed and offers a high-level API that simplifies complex cryptographic tasks while ensuring security through proper data handling and error management.
WordListBundle-EN-ByClass-Adjective
Release | 30 Nov 2025 12:06 AM | Author: PERLANCAR | Version: 0.004
CPAN Testers: Pass 100.0%
Collection of English adjectives
The `WordListBundle::EN::ByClass::Adjective` Perl module provides a comprehensive collection of English adjectives, specifically designed for use in various applications such as word games. Released in version 0.004 on January 13, 2025, this module includes the `WordList::EN::ByClass::Adjective::TalkEnglish` component, which serves as a backend for accessing the adjective data. A noteworthy recent change in this version is the renaming of the module and distribution from `WordLists-EN-Adjective-*` to `WordListBundle-EN-ByClass-Adjective-*`, enhancing clarity and organization. This module is particularly useful for developers looking to incorporate English adjectives into their projects, making it a valuable resource for language-related applications.
Module-Generic
Favorite | 29 Nov 2025 11:36 PM | Author: JDEGUEST | Version: v1.1.3
Generic Module to inherit from
Module::Generic is a versatile Perl module designed to serve as a base class for creating feature-rich objects with minimal boilerplate code. It provides a robust framework for object-oriented programming, enabling developers to easily define attributes and methods, including dynamic method creation through AUTOLOAD. The module supports various data types, including scalars, arrays, hashes, and objects, and offers built-in error handling and debugging capabilities. Recent updates in version 1.1.3 have enhanced the `colour_parse()` method for improved color messaging output and introduced new methods `force_tty()` and `colour_max_depth()` for better control over colored debugging messages. This makes Module::Generic an excellent choice for developers looking to streamline their Perl object management while maintaining flexibility and functionality.
Framework for easy creation of Enterprise Application Integration tasks
EAI::Wrap is a robust Perl framework designed to simplify the creation of Enterprise Application Integration (EAI) tasks. It abstracts low-level operations such as FTP fetching, file parsing, and database storage, allowing developers to focus on high-level job scripting. The module supports a variety of workflows, including file creation from databases and uploading to FTP servers, and is equipped with built-in logging via Log4perl, database handling through DBI and DBD::ODBC, and file parsing capabilities for various formats. Configuration is flexible, allowing for command-line overrides and environment-specific settings. Recent updates have improved error handling, added support for custom locales, and enhanced logging features, making EAI::Wrap an essential tool for developers looking to streamline their EAI processes.
Disk-SmartTools
Release | 29 Nov 2025 10:13 PM | Author: MMARTINI | Version: v3.3.8
Provide tools to work with disks via S.M.A.R.T
Disk::SmartTools is a Perl module designed to facilitate interaction with disk drives using the S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) system. It provides a comprehensive set of functions to manage and retrieve information about disks across different operating systems, including Linux and macOS. Key functionalities include obtaining the appropriate disk prefix for the OS, identifying physical and S.M.A.R.T.-capable disks, executing S.M.A.R.T. commands, and running diagnostic tests. The latest version, v3.3.8, includes bug fixes that ensure the module returns `undef` when a configuration file does not exist, enhancing its reliability and usability. This module is particularly useful for system administrators and developers who need to monitor disk health and performance programmatically.
Adds stack trace to exceptions
Aion::Carp is a Perl module designed to enhance error handling by adding stack traces to exceptions, making debugging easier. By replacing the default `$SIG{__DIE__}` signal handler with its own, Aion::Carp captures the context of errors, appending a detailed stack trace to string exceptions and adding a `STACKTRACE` key to hash-based exceptions. This allows developers to trace the origin of errors more effectively. The module is particularly useful in complex applications where understanding the flow of execution is crucial. The latest version, 1.6, introduced new liveman tests, upgraded dependencies, and improved the workflow, ensuring better reliability and maintainability.
Data-OptList-Object
Release | 29 Nov 2025 09:23 PM | Author: TOBYINK | Version: 0.001003
Data::OptList, but object-oriented
Data::OptList::Object is an object-oriented Perl module that enhances the functionality of the Data::OptList module by encapsulating option lists in blessed objects. It allows users to create and manipulate compact lists of options, where each option consists of a key and a value that can be either undefined or a reference. This module provides a variety of methods for accessing and managing these options, including retrieving keys and values, counting pairs, and converting the list to different formats such as JSON or hash references. Notably, recent updates have improved packaging by requiring a newer version of List::Util, ensuring better compatibility and functionality. This module is ideal for developers looking to manage option lists in a more structured and object-oriented manner.
A Perl extension for formatting numbers, coloring output, etc
Aion::Format is a versatile Perl module designed to enhance the formatting of numbers and the coloring of output in terminal applications. With a range of utilities, it allows users to colorize text using ANSI escape sequences, format numbers with separators, convert between different numeral systems, and create human-readable representations of time intervals. The module also includes functions for logging access and error messages with date-time prefixes, as well as tools for manipulating strings and regular expressions. Notably, the recent version 0.1.0 introduced simplified options for the `p` and `np` functions, enhancing usability for developers. This module is particularly useful for developers looking to improve the readability and presentation of their output in Perl applications.
Doubly-Linked-PP
Release | 29 Nov 2025 06:43 PM | Author: LNATION | Version: 0.06
CPAN Testers: Pass 100.0%
Linked lists
Doubly::Linked::PP is a Perl module designed for creating and manipulating doubly linked lists, providing a straightforward interface for adding, accessing, and traversing list elements. With features such as bulk addition of elements and methods to navigate to the start and end of the list, it allows for efficient data management. The module is particularly useful for developers needing to implement linked list structures in their applications, offering a performance benchmark against similar modules like Doubly and Doubly::Linked. Despite being slower than its counterparts, it serves as a valuable tool for those looking to work with linked lists in Perl.
Facility for creating read-only scalars, arrays, hashes
The Const::XS Perl module provides a high-performance solution for creating read-only scalars, arrays, and hashes, significantly enhancing the efficiency of constant variable management in Perl applications. By leveraging XS/C implementation, it offers over four times the performance compared to its pure Perl counterpart, Const::PP, while maintaining full backward compatibility. The module allows developers to define constants using the `const` function, which makes variables deeply read-only, and includes additional functionalities such as `make_readonly`, `make_readonly_ref`, `unmake_readonly`, and `is_readonly` for managing the read-only state of variables. This makes Const::XS an ideal choice for applications requiring immutable data structures, ensuring both speed and reliability in constant variable handling.
Doubly linked lists
The Doubly module provides a robust implementation of a doubly linked list in Perl, utilizing a C-based structure for enhanced performance and efficiency. This module allows users to create and manipulate linked lists with ease, offering methods for adding, removing, and traversing elements in both forward and backward directions. With features such as bulk addition of items, insertion at specific positions, and the ability to find elements based on custom criteria, Doubly is ideal for applications requiring dynamic data structures. Its design ensures that users interact with a true linked list rather than a simulated version, making it a powerful tool for developers needing efficient data management in their Perl applications.
Less is more, more is less!
The Hades Perl module is designed to simplify the generation of Perl classes and their associated test files through a concise and expressive syntax. With Hades, developers can define classes, accessors, and methods using a structured format that emphasizes clarity and reduces boilerplate code. The module supports features such as type checking, default values, and required parameters, while also allowing for the inclusion of macros for reusable code snippets. Additionally, Hades can automatically generate comprehensive test files, ensuring that the created classes are thoroughly tested and maintain high code quality. This module is particularly useful for developers looking to streamline their Perl development process while adhering to best practices in object-oriented programming and testing.
Net-Fortinet-FortiManager
Release | 29 Nov 2025 04:09 PM | Author: ABRAXXA | Version: 0.004001
Fortinet FortiManager REST API client library
The `Net::Fortinet::FortiManager` module is a Perl client library designed for interacting with the Fortinet FortiManager REST API, specifically tailored for managing FortiGate devices through a JSONRPC-like interface. This module facilitates various operations such as logging in, managing ADOMs (Administrative Domains), and executing a wide range of API actions including creating, updating, and deleting firewall addresses, policies, and services. With version 0.004001, recent enhancements include improved handling of tests against FortiManager with invalid certificates, the addition of a method to check for UDP-Lite support, and fixes for compatibility with FortiManager versions 7.6 and above. This makes it a robust tool for network administrators looking to automate and streamline their firewall management tasks.
Perl client to the Melian cache
Melian is a Perl client designed for interacting with the Melian cache server, facilitating efficient data retrieval through a binary protocol. It allows developers to connect to the server using either UNIX or TCP sockets and provides methods for fetching data by table and index identifiers, including support for JSON decoding. The client can be configured with various schema specifications, enabling flexible data handling, and includes features for connecting and disconnecting from the server as well as fetching raw or structured data. With its initial release in November 2025, Melian aims to streamline the integration of caching mechanisms in Perl applications, making it easier for developers to manage data efficiently.
Getopt Extender
Getopt::EX is a powerful Perl module that enhances the capabilities of Getopt::Long by allowing users to define custom option aliases and create dynamic extension modules that integrate seamlessly with scripts through an option interface. With its two primary interfaces, Getopt::EX::Long offers a straightforward way to implement option aliases via a user-defined startup configuration file, while Getopt::EX::Loader provides more advanced functionality for loading and processing command-line options. Additionally, the module supports colored text output on ANSI terminals through Getopt::EX::Colormap, enabling users to customize terminal color schemes easily. Overall, Getopt::EX is ideal for developers looking to create flexible and user-friendly command-line applications in Perl.
App-optex-rpn
Release | 29 Nov 2025 09:35 AM | Author: UTASHIRO | Version: 1.02
Optex module for Reverse Polish Notation calculation
The `App::optex::rpn` module is designed for use with the optex command, enabling users to perform calculations using Reverse Polish Notation (RPN) directly from the command line. It automatically detects RPN expressions in the provided arguments and computes their results, simplifying complex calculations. Users can customize its behavior with options such as enabling or disabling automatic processing of all arguments and specifying individual RPN expressions. The module supports a wide range of operators, including arithmetic, trigonometric, and logical operations, making it versatile for various mathematical tasks. A noteworthy recent update in version 1.02 addresses an infinite loop issue and introduces support for `Getopt::EX::Config`, enhancing the module's functionality and reliability.
General purpose command option wrapper
The optex module serves as a command module directory for the optex command, allowing users to execute various commands with the option to specify additional modules using the -M flag. This module is designed to facilitate the integration and management of command-line functionalities within the optex framework, with comprehensive documentation included directly in the script for user guidance. For further information and resources, users can refer to the project's GitHub page. The module is licensed under the same terms as Perl itself, ensuring flexibility for redistribution and modification.
It's new $module
Daje::Plugin::workflow is a Mojolicious plugin designed to integrate with Daje::Workflow, facilitating the management and execution of workflows within Mojolicious applications. It requires several components, including Daje::Workflow and its associated loaders and database modules, ensuring a robust framework for workflow handling. The plugin's configuration allows users to specify the path and type of workflows, streamlining the process of workflow execution. Notably, in the recent 0.10 release, the plugin introduced a new URL endpoint for executing workflows and enhanced logging and documentation, making it easier for developers to implement and troubleshoot workflows in their applications.
App-optex-xform
Release | 29 Nov 2025 05:46 AM | Author: UTASHIRO | Version: 1.05
Data transform filter module for optex
The `xform` module is a data transformation filter designed for use with the `optex` command, enabling users to manipulate standard input (STDIN) data into various formats while ensuring that the transformed data retains the original order. It offers several transformation options, including converting ANSI terminal sequences into printable strings, encoding multibyte non-ASCII characters into single-byte sequences, and transforming non-printable binary characters into printable formats. Additionally, users can customize the character set used for transformation through the `--xform-visible` option, which allows for greater flexibility in handling different types of data. Notably, version 1.05 introduced the `--xform-bin` option for binary data transformation and the `--xform-visible` option to customize the visible parameter of `Text::Conceal`, enhancing the module's functionality for diverse data manipulation tasks.
OpenAPI-Modern
Release | 29 Nov 2025 12:49 AM | Author: ETHER | Version: 0.109
Upvotes: 3 | CPAN Testers: Pass 100.0%
Validate HTTP requests and responses against an OpenAPI v3.1 or v3.2 document
OpenAPI::Modern is a Perl module designed to validate HTTP requests and responses against OpenAPI v3.1 and v3.2 specifications, ensuring compliance with defined API contracts. It provides a robust framework for working with OpenAPI documents, allowing developers to create, validate, and manage API interactions seamlessly. The module supports various HTTP request and response types, including those from Mojolicious, Plack, and Catalyst, and offers detailed error reporting for validation failures. Recent updates include the addition of support for OpenAPI 3.0 schemas, enhancing its utility for developers working with multiple API versions. With its comprehensive features and ongoing improvements, OpenAPI::Modern is an essential tool for maintaining API integrity and compliance in Perl applications.
OpenTelemetry
Favorite | 28 Nov 2025 09:59 PM | Author: JJATRIA | Version: 0.033
Upvotes: 5 | CPAN Testers: Pass 100.0%
A Perl implementation of the OpenTelemetry standard
The OpenTelemetry Perl module provides a comprehensive implementation of the OpenTelemetry standard, enabling developers to instrument their Perl applications for performance monitoring and observability. It offers a backend-agnostic API that allows users to create and manage traces and spans, facilitating the collection of telemetry data about application behavior. The module supports both class method and functional interfaces for ease of use, allowing for global configuration of logging, tracing, and error handling components. Recent updates include enhancements to instrumentation tests and the introduction of new features in the OpenTelemetry::Instrumentation namespace, which now supports options as array references for better control over instrumentation behavior. This module is essential for developers looking to integrate observability into their Perl applications effectively.
Mojolicious Plugin
Daje::Plugin::Tools is a versatile plugin designed for use with the Mojolicious web framework, enabling developers to enhance their applications with additional functionalities. Built on the foundation of Mojolicious::Plugin, it provides a straightforward way to integrate tools into both Mojolicious and Mojolicious::Lite applications. By simply invoking the `plugin 'Tools'` method, users can easily register the plugin and leverage its capabilities, streamlining the development process and improving application performance. This plugin is ideal for developers looking to extend their Mojolicious applications with minimal effort while adhering to the latest Perl standards.
RSS/Atom feed reader and aggregator
The `WWW::Noss` module serves as a backend for the noss RSS/Atom feed reader and aggregator, enabling users to manage and interact with their feeds through a command-line interface. It provides a variety of methods for initializing the application, running commands, and managing feeds, including updating, reloading, reading, and posting content. Recent updates in version 2.01 introduced a new "discover" command to find feed URLs associated with web pages, enhanced error messaging with color coding, and improved handling of HTTP responses, such as respecting the "Retry-After" header and following redirections. This module is particularly useful for users looking to streamline their feed management and access content efficiently.
Meta-programming API
The "meta" Perl module provides a powerful metaprogramming API that allows developers to inspect and manipulate the structure of their own Perl programs. By utilizing "meta"-objects, users can access various parts of the Perl interpreter, enabling them to create, modify, or remove symbols and other elements within packages dynamically. This module serves as a more user-friendly alternative to traditional metaprogramming techniques, such as using "no strict 'refs'", and aims to offer a consistent interface for enhancing Perl's capabilities. With methods for retrieving package information, adding new symbols, and managing subroutines, "meta" is designed for those looking to leverage advanced programming techniques, although it is currently considered experimental and subject to change.
Number-ZipCode-JP
Release | 28 Nov 2025 12:13 PM | Author: TANIGUCHI | Version: 0.20251128
Upvotes: 1 | CPAN Testers: Pass 100.0%
Validate Japanese zip-codes
Number::ZipCode::JP is a Perl module designed to validate Japanese zip codes according to the regulations set by Japan Post Holdings Co., Ltd. It allows users to create an instance of a zip code, set its value, and check its validity based on specified categories, such as area-specific or company-specific zip codes. The module provides methods for constructing zip code instances, importing validation categories, setting zip code values, and verifying their correctness. This makes it a useful tool for applications that require accurate handling of Japanese postal codes, ensuring compliance with official formatting standards.
Compiler from Markdown to tests and documentation
Liveman is a Perl module designed to streamline the process of generating tests and documentation from Markdown files, effectively bridging the gap between documentation and testing in modern projects. By transforming Markdown files located in the `lib` directory into test files in the `t` directory, Liveman ensures that examples in the documentation remain functional and up-to-date with the code. It also integrates documentation into the `__END__` section of Perl modules, allowing for seamless access to both code and documentation. Recent updates in version 3.8 include enhancements to test definitions, specifically checking for defined values and equality without referencing equal objects, which improves the reliability of test outcomes. Liveman supports multilingual documentation through translation utilities and provides various testing capabilities, making it a versatile tool for Perl developers looking to maintain high-quality documentation and testing practices.
MARC-Validator
Release | 28 Nov 2025 11:35 AM | Author: SKIM | Version: 0.08
MARC validator plugins
MARC::Validator is a Perl module designed to facilitate the validation of MARC (Machine-Readable Cataloging) records through a flexible plugin architecture. By utilizing the `plugins` method, users can retrieve a list of available validation plugins, each tailored to check specific aspects of MARC records, such as fields and formats. This modular approach allows for easy extension and customization, making it an essential tool for developers and librarians who need to ensure the integrity and compliance of their MARC data. With its straightforward implementation and reliance on the Module::Pluggable framework, MARC::Validator streamlines the process of MARC validation, enhancing data quality in library systems.
VF2 subgraph isomorphism detection method for Perl Graph
Graph::MoreUtils is a Perl module designed for detecting subgraph isomorphisms using the VF2 algorithm within undirected graphs. It allows users to identify all occurrences of a smaller graph within a larger one by utilizing the `matches` method, which returns an array of vertex correspondences for each match found. This module is particularly useful for applications in graph theory and network analysis, where understanding the relationships and structures within data is crucial. The initial release of this module was on November 28, 2025, marking its entry into the Perl ecosystem.