Recent Perl modules, releases and favorites.
Last updated 11 July 2025 02:30 PM
Last updated 11 July 2025 02:30 PM
Indent and reformat perl scripts
Perl::Tidy is a Perl module designed to parse and beautify Perl source code, making it easier to read and maintain. It provides a programmatic interface to the functionality of the perltidy utility, allowing users to format their Perl scripts directly from within their code. The module accepts various input parameters, including source code, destination for the formatted output, and options for error handling and logging. Recent updates have introduced features such as vertical alignment of colons used as attribute separators, improved handling of format skipping comments, and enhanced support for complex data structures. Notably, the latest version (20250711) has made vertical alignment of colons the default behavior, improving the overall readability of formatted code. This module is particularly useful for developers looking to enforce consistent coding standards across their Perl projects.
A fast CPAN module installer
App::cpm is a high-performance CPAN module installer designed to expedite the installation process of Perl modules by leveraging parallel processing through Menlo. It significantly reduces installation times by caching builds of distributions in the user's home directory, allowing for quick reuse of these cached versions instead of rebuilding them from scratch. This module is particularly beneficial for projects with numerous dependencies, as it can install modules up to three times faster than traditional installers like cpanm. Recent updates include the default use of the `--depth=1` option for git cloning, enhancing efficiency in fetching module repositories. For users looking to streamline their Perl development, App::cpm offers a robust and efficient solution for managing CPAN module installations.

PDL-Drawing-Prima
Release | 11 Jul 2025 12:20 PM | Author: KARASIK | Version: 0.20
A simple simulation of the Kuramoto model
The PDL::Drawing::Prima module provides a set of drawing functions specifically designed for use with the Prima GUI toolkit, enabling users to create PDL-aware graphics within Prima widgets. It offers a variety of methods that extend the standard Prima drawing API, allowing for efficient rendering of shapes such as lines, arcs, ellipses, and polygons using PDL's powerful data structures. The module facilitates color manipulation and data handling, making it suitable for applications that require dynamic graphical representations, such as plotting libraries. Recent updates have improved compatibility with the latest versions of PDL and Prima, and introduced a comprehensive testing framework to ensure consistent rendering results across different environments.
SVG renderer for PDF::API2
SVGPDF is a Perl module designed to convert SVG (Scalable Vector Graphics) data into PDF XObjects, which can then be integrated into PDF documents using PDF::API2 or compatible libraries. By utilizing the `process()` method, users can input SVG data from various sources, including files and strings, and receive an array of hashes representing the rendered XObjects. The module supports a range of SVG elements and styles, allowing for detailed customization of the output, including font handling through a callback mechanism. Recent updates have improved color parsing and added support for global color styles in text elements, enhancing the module's functionality for generating visually rich PDF documents from SVG graphics.

String-Interpolate-Named
Release | 11 Jul 2025 05:47 AM | Author: JV | Version: 1.06
Interpolated named arguments in string
String::Interpolate::Named is a Perl module designed for interpolating named arguments within template strings, allowing for dynamic text generation. By utilizing a control hash that maps named variables to their corresponding values, users can easily replace placeholders in a string marked by the syntax "%{...}". This module supports advanced features such as conditional interpolation, list handling, and format modifiers for customizing the output. It can be used in both functional and object-oriented styles, making it versatile for various programming needs. With its ability to handle complex substitutions and formatting, String::Interpolate::Named simplifies the process of creating dynamic and context-sensitive strings in Perl applications.

Data-HashType
Release | 10 Jul 2025 09:00 PM | Author: SKIM | Version: 0.07
Data objects for hash type
The `Data::HashType` Perl module provides a structured way to manage information about hash types, particularly focusing on their validity over time. It allows users to create objects that encapsulate details such as an identifier, name, and the time range during which a hash type is valid, utilizing `DateTime` objects for precise date handling. This module is particularly useful for applications that require tracking multiple hash types with overlapping validity periods, such as in database management. Recent updates in version 0.07 have improved code comments and refined the validation of the identifier parameter, enhancing the module's robustness and clarity.

RT-Extension-AI
Release | 10 Jul 2025 08:39 PM | Author: BPS | Version: 0.01
RT-Extension-AI Extension
RT-Extension-AI is a powerful Perl module designed to enhance Request Tracker (RT) with various AI-driven features, enabling users to leverage artificial intelligence for improved ticket management. This extension integrates seamlessly with RT 6, allowing for AI assistance through scrips and interactive tools within the RT editor. Users can configure connections to different AI providers, such as OpenAI and Gemini, and customize prompts for tasks like summarizing ticket conversations, assessing sentiment, adjusting tone, and translating content. The module also includes features like autocomplete suggestions in the editor and automated ticket updates based on AI analysis. With its flexible configuration options, RT-Extension-AI empowers helpdesk teams to streamline their workflows and enhance customer interactions through intelligent automation. The initial version was released on July 9, 2025, marking the beginning of its journey in enhancing RT with AI capabilities.

Data-OFN-Thing
Release | 10 Jul 2025 08:23 PM | Author: SKIM | Version: 0.01
Data objects for OFN thing
The `Data::OFN::Thing` Perl module provides an immutable data object designed for representing "things" according to the Otevřené formální normy (OFN) standard in the Czech Republic, specifically aligned with the 2020-07-01 version. This module allows users to create instances that encapsulate various attributes of an OFN thing, including its ID, name, description, creation and update timestamps, and relevant attachments. Each attribute can be accessed through dedicated methods, enabling structured handling of data related to OFN entities. The module is particularly useful for developers working with Czech governmental data standards, ensuring compliance and facilitating data management tasks.
Write Perl Subroutines in Other Programming Languages
The Inline module for Perl enables developers to seamlessly integrate subroutines written in other programming languages directly within their Perl scripts. By allowing code from languages such as C, C++, Java, Python, and more to be embedded inline, Inline simplifies the process of leveraging the performance and capabilities of these languages without the need for complex glue code or compilation steps. This module automatically compiles and loads the external code as needed, making it accessible from Perl with minimal overhead. It is particularly useful for optimizing performance-critical sections of Perl applications or for utilizing existing libraries written in other languages. With support for various programming languages and a straightforward syntax, Inline enhances Perl's versatility while maintaining ease of use for developers.

Text-Layout
Release | 10 Jul 2025 08:04 PM | Author: JV | Version: 0.045
Pango style markup formatting
Text::Layout is a Perl module designed for Pango-style text formatting, enabling developers to create richly formatted text for PDF documents using libraries such as PDF::API2 and PDF::Builder. It provides methods that closely mirror those of the Pango library, allowing for seamless integration of font management and text shaping, especially when combined with HarfBuzz::Shaper. With support for various markup attributes, including font styles, colors, and alignment, Text::Layout facilitates the creation of visually appealing text layouts. The module also accommodates the differences in coordinate systems between Pango and PDF, ensuring accurate rendering of text in PDF documents. Overall, Text::Layout is a powerful tool for developers looking to enhance text presentation in their Perl applications.

Object-InsideOut
Favorite | 10 Jul 2025 05:13 PM | Author: JDHEDDEN | Version: 4.05
Comprehensive inside-out object support module
Object::InsideOut is a powerful Perl module designed to facilitate the implementation of inside-out object-oriented programming. This module allows developers to create classes where object data is stored in arrays or hashes indexed by unique object IDs, enhancing encapsulation and avoiding field name collisions that can occur with traditional blessed hash objects. It provides a rich set of features, including automatic accessor generation, flexible parameter handling during object creation, support for threads, and built-in serialization capabilities. Notably, version 4.05 introduced a fix for non-threaded Perl, ensuring better compatibility and stability. With its comprehensive capabilities, Object::InsideOut is an excellent choice for developers looking to leverage the advantages of the inside-out object model in their Perl applications.

IO-Socket-SSL
Release | 10 Jul 2025 04:57 PM | Author: SULLR | Version: 2.095
Nearly transparent SSL encapsulation for IO::Socket::INET
The `IO::Socket::SSL` module provides a straightforward interface for creating SSL/TLS sockets in Perl, leveraging the familiar `IO::Socket` framework. It simplifies the process of establishing secure connections by offering sensible defaults for SSL configurations, enabling developers to easily integrate SSL support into existing applications without extensive modifications. The module supports both client and server functionalities, allowing for secure communications over various protocols, including HTTPS and SMTP with STARTTLS. Additionally, it includes advanced features such as hostname verification, certificate validation, and support for non-blocking I/O, making it a versatile choice for developers looking to implement secure socket communications in their Perl applications.
TAP as Document Object Model
The TAP::DOM module provides a structured way to work with Test Anything Protocol (TAP) output by transforming it into a Document Object Model (DOM). This allows users to create a reliable and consistent data structure from TAP results, which can be easily analyzed and manipulated using data exploration tools like Data::DPath. With TAP::DOM, you can generate a DOM from TAP output, as well as recreate TAP from the DOM, ensuring that the data structure remains stable and predictable for future use. The module supports various options for customizing the parsing process, including ignoring specific lines, normalizing data, and managing key-value pairs, making it a versatile tool for developers looking to enhance their TAP handling capabilities.

Catalyst-View-EmbeddedPerl-PerRequest-ValiantRole
Release | 10 Jul 2025 03:24 PM | Author: JJNAPIORK | Version: 0.001007
Role to add Valiant HTML Formbuilder support
Catalyst::View::EmbeddedPerl::PerRequest::ValiantRole is a Perl module designed to enhance the Catalyst web framework by providing a set of methods for creating HTML form elements through the Valiant Formbuilder. By incorporating this role into your Catalyst view, you gain access to a variety of form-related methods, such as `form_for`, `input_tag`, and `submit_tag`, which streamline the process of generating dynamic forms within your application. The module ensures that all output is automatically escaped to prevent cross-site scripting attacks, although this feature can be disabled if raw HTML output is desired. Recent updates have introduced additional methods like `form_with` and `fields`, further expanding its functionality and making it easier to work with forms in a Catalyst environment.

Catalyst-View-EmbeddedPerl-PerRequest
Release | 10 Jul 2025 03:15 PM | Author: JJNAPIORK | Version: 0.001021
Catalyst View wrapper for Template::EmbeddedPerl
Catalyst::View::EmbeddedPerl::PerRequest is a flexible per-request view module for the Catalyst web framework that leverages Template::EmbeddedPerl to process templates containing embedded Perl code. This module allows developers to create dynamic content by embedding Perl expressions directly within templates, making it accessible for Perl programmers without the need to learn a new templating language. It supports both inline templates defined in the module and external templates stored as files, facilitating easy integration into Catalyst applications. Notably, recent updates have improved support for object serialization and introduced new helpers for managing script and style blocks, enhancing the overall usability and functionality of the module. This makes it particularly suitable for small projects, demo applications, or Perl-centric environments, while also encouraging best practices to maintain clean and maintainable code.
Validation Library and more
Valiant is a Perl module designed for object validation, drawing inspiration from Ruby on Rails and similar frameworks. It provides a domain-specific language (DSL) for defining validation rules and filters for Moo or Moose classes, enabling developers to enforce business logic constraints and validate user input effectively. With Valiant, you can easily specify validation criteria for attributes, such as length and numericality, and gather detailed error messages when validation fails. This module allows for complex validations that can consider the state of multiple attributes, making it suitable for applications where user input may be well-formed but still invalid. Recent updates have focused on improving compatibility and fixing memory leaks, ensuring that Valiant remains a robust choice for developers looking to implement comprehensive validation in their Perl applications.

Log-Dispatch-UnixSyslog
Release | 10 Jul 2025 02:55 PM | Author: RJBS | Version: 0.003
Log events to syslog with Unix::Syslog
Log::Dispatch::UnixSyslog is a Perl module designed to facilitate logging events to the syslog using the Unix::Syslog interface, providing a more efficient alternative to the existing Log::Dispatch::Syslog module that relies on the more complex Sys::Syslog. This module allows developers to easily integrate syslog logging into their applications by creating a Log::Dispatch output object with customizable parameters such as the identifier for log messages and the syslog facility. Recent updates, including version 0.004, have improved the module's performance by delaying the opening of the syslog connection until logging occurs, rather than at construction, enhancing efficiency in resource management. This module is compatible with recent versions of Perl, ensuring broad usability for developers.

WWW-YaCyBlacklist
Release | 10 Jul 2025 01:32 PM | Author: IBRAUN | Version: 0.1
A Perl module to parse and execute YaCy blacklists
The `WWW::YaCyBlacklist` Perl module is designed to facilitate the parsing and execution of YaCy blacklists, allowing users to manage and check URLs against specified patterns. With features such as reading patterns from arrays or files, checking individual URLs for matches, and retrieving lists of matched or unmatched URLs, this module provides a comprehensive toolkit for blacklist management. Users can customize the behavior of the module through options like regex usage, sorting order, and output file naming. Released in July 2025, this initial version lays the groundwork for efficient URL filtering based on user-defined blacklists, making it a valuable resource for developers working with web content filtering and management.

Template-EmbeddedPerl
Release | 10 Jul 2025 01:31 PM | Author: JJNAPIORK | Version: 0.001014
Embedded Perl Template Engine
Template::EmbeddedPerl is a lightweight Perl template processing engine that allows developers to embed Perl code directly within template files or strings. It provides a straightforward interface for creating and rendering templates, supporting various input sources such as strings, files, and data sections. With customizable opening and closing tags, automatic escaping for web content, and features like helper functions and block capture, this module aims to simplify the templating process while maintaining strictness and security. Although it lacks some advanced features found in more mature template engines, it is designed to be easily integrated into larger frameworks, making it a practical choice for Perl developers looking for a flexible and efficient templating solution.

Net-Async-ArtNet
Release | 10 Jul 2025 11:16 AM | Author: PEVANS | Version: 0.04
Use Art-Net with IO::Async
The "Net::Async::ArtNet" Perl module provides a seamless way to integrate the Art-Net protocol with the "IO::Async" framework, enabling the reception of DMX data frames. Designed for developers working with lighting control systems, this module allows users to handle incoming DMX control values through an event-driven approach. By utilizing the `on_dmx` callback, users can easily process DMX data, such as monitoring specific channels. Recent updates have improved the module's flexibility by allowing the specification of listening parameters like family, host, and service, enhancing its usability in various network configurations. This makes "Net::Async::ArtNet" a valuable tool for anyone looking to implement Art-Net in their asynchronous Perl applications.

Data-OFN-Common
Release | 10 Jul 2025 06:57 AM | Author: SKIM | Version: 0.01
Common data objects for OFN
Data::OFN::Common is a Perl module that provides common immutable data objects for the Otevřené formální normy (OFN) standard in the Czech Republic, specifically aligned with the basic data types as of July 1, 2020. This module serves as a foundational component for handling OFN data structures, ensuring compliance with the established standards. It includes related objects such as Data::OFN::Common::Quantity and Data::OFN::Common::TimeMoment for managing specific data types. Released in July 2025, this is the inaugural version of the module, marking its introduction to the Perl ecosystem.
Colorful calendar command for ANSI terminal
The `week` Perl module is a colorful calendar command designed for ANSI terminals, allowing users to display calendar information in an engaging and visually appealing format. With version 1.06, recent enhancements include the addition of the `--yankees` option to the autoload list and updates to internationalization (i18n) support, specifically utilizing the `LC_TIME` environment variable for better localization. This module is particularly useful for those who want to customize their calendar display while benefiting from features like theme options and support for various date formats.

Getopt-EX-i18n
Release | 10 Jul 2025 05:07 AM | Author: UTASHIRO | Version: 1.01
General i18n module
Getopt::EX::i18n is a Perl module designed to facilitate internationalization (i18n) by allowing users to set the locale environment before executing any command. It retrieves a list of available locales from the system using the "locale -a" command, making it easy to switch between different language and territory settings. The module supports various options for defining locale parameters, such as language and territory codes, and allows customization of the environment variable name used for locale settings. With built-in features for verbosity and option listing, Getopt::EX::i18n streamlines the process of executing commands in different languages, enhancing the usability of applications in multilingual environments.

LaTeX-ToUnicode
Release | 10 Jul 2025 04:39 AM | Author: BORISV | Version: 1.92
Convert LaTeX commands to Unicode
LaTeX::ToUnicode is a Perl module designed to convert LaTeX commands into their Unicode equivalents, facilitating the transformation of LaTeX fragments—such as bibliography entries and abstracts—into plain text or simplistic HTML. The module simplifies the conversion process by translating special characters and accents while removing unnecessary formatting commands, although it does not handle complex document structures like math or tables. Users can customize the output through various options, including generating HTML entities or applying user-defined hooks for specific transformations. The recent version 1.92 introduced a new numbering scheme and improved debug statements, enhancing the module's usability for developers.

BibTeX-Parser
Release | 10 Jul 2025 04:39 AM | Author: BORISV | Version: 1.92
A pure perl BibTeX parser
BibTeX::Parser is a pure Perl module designed to parse BibTeX files efficiently. It allows users to create a parser object that reads from a specified filehandle, enabling the extraction of bibliographic entries in a structured manner. With its straightforward interface, users can iterate through entries, check for parsing success, and retrieve various fields such as the type of entry, title, authors, and editors. The module also includes features for canonicalizing author and editor names, making it a valuable tool for anyone working with bibliographic data in Perl.

Net-Firewall-BlockerHelper
Release | 10 Jul 2025 03:00 AM | Author: VVELOX | Version: v0.0.1
Helps with managing firewalls for banning IPs
Net::Firewall::BlockerHelper is a Perl module designed to simplify the management of firewalls for banning and unbanning IP addresses. With a straightforward interface, users can create an instance of the module specifying the backend (such as 'ipfw'), the ports and protocols to block, and a unique name for the instance. The module provides methods to initialize the backend, ban or unban specific IPs, list currently banned IPs, and reinitialize or teardown the backend as needed. This initial release, version 0.0.1, lays the foundation for effective firewall management, making it easier for developers to implement IP banning functionality in their applications.

Mail-AuthenticationResults
Release | 9 Jul 2025 11:34 PM | Author: MBRADSHAW | Version: 2.20250709
Object Oriented Authentication-Results Headers
The Mail::AuthenticationResults module provides an object-oriented approach to handling Authentication-Results email headers, allowing developers to easily parse and manipulate these headers in their applications. While it supports various styles of Authentication-Results headers commonly encountered, it is not fully compliant with RFC7601, as it accommodates certain deviations, such as parsing key/value pairs in the authserv-id section, which are often seen in headers from providers like Yahoo!. The module includes methods for creating new objects and parsing headers, making it a useful tool for developers working with email authentication data.

DB-Berkeley
Release | 9 Jul 2025 06:45 PM | Author: NHORNE | Version: 0.01
XS-based OO Berkeley DB HASH interface
DB::Berkeley is a lightweight Perl module that provides an object-oriented interface to Berkeley DB using a hash format, implemented through XS for performance without relying on the traditional tie() mechanism. This module allows users to easily create and manage key-value pairs in a Berkeley DB file, offering straightforward methods for storing, retrieving, checking existence, and deleting entries. Additionally, it supports iterating over keys and values, making it a flexible choice for applications that require efficient data storage and retrieval. With automatic cleanup upon object destruction, DB::Berkeley is designed for simplicity and efficiency, making it an excellent alternative to the DB_File module for developers looking to leverage Berkeley DB in their Perl applications.

Opsview-RestAPI
Release | 9 Jul 2025 04:47 PM | Author: DUNCS | Version: 1.251900
Interact with the Opsview Rest API interface
The `Opsview::RestAPI` Perl module provides a streamlined interface for interacting with the Opsview Monitor's REST API, specifically designed for versions 4.x and newer. By allowing users to easily authenticate, retrieve API version information, and perform various operations such as creating, updating, and deleting resources, this module simplifies the management of Opsview configurations. Users can create an instance of the module with their Opsview server credentials, and then utilize methods to execute API calls, handle data in batches, and manage session states effectively. This makes it an essential tool for developers looking to automate and integrate Opsview functionalities into their applications.

Net-Azure-NotificationHubs
Release | 9 Jul 2025 02:49 PM | Author: YTURTLE | Version: 0.11
A Client Class for Azure Notification Hubs
Net::Azure::NotificationHubs is a Perl client class designed for interacting with Azure Notification Hubs, enabling developers to send push notifications to various platforms such as Apple Push Notification Service (APNS) and Google Cloud Messaging (GCM). With this module, users can easily create a new instance by providing a connection string, hub name, and optional APNS expiry date. The primary method, `send`, allows for the transmission of notification payloads, with support for additional parameters like tags and format specifications. Recent updates include a fix that moves certain test files to avoid failures with real HTTP requests, enhancing the module's reliability in testing environments. This module is particularly useful for developers looking to integrate Azure's notification services into their Perl applications.