Recent Perl modules, releases and favorites.
Last updated 11 June 2025 12:30 PM
Last updated 11 June 2025 12:30 PM

Lemonldap-NG-Portal
Release | 11 Jun 2025 11:15 AM | Author: COUDOT | Version: v2.21.1
The authentication portal part of Lemonldap::NG Web-SSO system
Lemonldap::NG::Portal is a Perl module that serves as the authentication portal component of the Lemonldap::NG Web Single Sign-On (SSO) system. It simplifies the process of securing web applications by managing both authentication and authorization while providing accounting headers for comprehensive AAA (Authentication, Authorization, Accounting) protection. The module is designed to be easily integrated using Plack, allowing developers to create a secure environment with minimal changes to existing applications. It supports a plugin architecture for various components, including authentication and user database modules, enabling customization and extensibility. Recent updates have introduced new authentication and user database modules, enhancing the system's flexibility and security capabilities. For more information, visit the official Lemonldap::NG website.

Lemonldap-NG-Manager
Release | 11 Jun 2025 11:15 AM | Author: COUDOT | Version: v2.21.1
Perl extension for managing Lemonldap::NG Web-SSO system
Lemonldap::NG::Manager is a Perl extension designed to facilitate the management of the Lemonldap::NG Web-SSO system through a web interface. It operates as a REST server, with the frontend built using AngularJS, and is compatible with various deployment methods via Plack, such as CGI and FastCGI. The module encompasses several components, including configuration management, session and notification explorers, and a second factors manager, all of which can be customized through a configuration file. Users can easily override parameters and manage modules displayed in the interface, making it a versatile tool for administrators looking to streamline their Single Sign-On (SSO) management tasks. For detailed API documentation, users can refer to the provided REST-API.md file within the source tree.

Lemonldap-NG-Handler
Release | 11 Jun 2025 11:15 AM | Author: COUDOT | Version: v2.21.1
The Apache protection module part of Lemonldap::NG Web-SSO system
Lemonldap::NG::Handler is a Perl module that serves as the Apache protection component of the Lemonldap::NG Web Single Sign-On (SSO) system, specifically functioning as an alias for Lemonldap::NG::Handler::ApacheMP2. This module facilitates secure authentication and authorization for web applications by integrating with the Apache web server, allowing for features such as cross-domain authentication, custom configuration management, and enhanced logging capabilities. It is designed to streamline the user experience by managing sessions and providing a robust framework for handling user credentials. Notably, recent updates have improved the handling of POST requests and introduced a double session mechanism for enhanced security. For more information, users can refer to the official Lemonldap::NG documentation and community resources.

Lemonldap-NG-Common
Release | 11 Jun 2025 11:14 AM | Author: COUDOT | Version: v2.21.1
Common files for Lemonldap::NG infrastructure
Lemonldap::NG::Common is a foundational Perl module designed to support the Lemonldap::NG infrastructure, which facilitates the creation of a modular Web Single Sign-On (SSO) system based on Apache::Session modules. This module streamlines the process of securing web applications by requiring minimal modifications to existing setups, making it easier for developers to implement protected areas within their applications. It serves as a repository for common files used across the Lemonldap::NG ecosystem, which includes related components like Lemonldap::NG::Manager, Lemonldap::NG::Portal, and Lemonldap::NG::Handler.
General purpose, MongoDB-style query and update language
MQUL is a versatile Perl module that implements a MongoDB-style query and update language, allowing developers to easily query and modify complex data structures represented as hash references. It provides two primary functions: `doc_matches()`, which checks if a given document matches a specified query, and `update_doc()`, which updates the document in place based on the provided update instructions. While not fully compatible with MongoDB, MQUL extends its functionality, making it suitable for various applications, including database management and process monitoring. A noteworthy recent change in version 3.000000 includes a bug fix that addresses warnings when comparing strings with numbers, along with a switch to the Apache License 2.0, enhancing its usability and compliance.
XML, The Perl Way
The XML::Twig Perl module is designed for efficient processing of XML documents, particularly large ones, by utilizing a tree-based approach. It allows users to parse XML files and manipulate their structure with minimal memory usage, as it can process elements in a streaming manner, loading only the necessary parts into memory. XML::Twig provides a rich set of features, including the ability to define handlers for specific XML elements, modify tags, and output the processed XML in a well-formatted manner. Additionally, it supports various command-line utilities for tasks such as pretty-printing XML, searching for elements, splitting large XML files, and merging them back together. With its user-friendly interface and extensive documentation, XML::Twig simplifies XML manipulation while maintaining performance, making it a valuable tool for Perl developers working with XML data.
CLI for Text::Safer
App::safer is a command-line interface (CLI) for the Perl module Text::Safer, designed to facilitate safer text processing in various applications. Released on June 11, 2025, this module provides users with a straightforward way to leverage the functionalities of Text::Safer through a command-line environment, enhancing the ease of use for developers and system administrators alike. As a newly released module, it marks its initial entry into the Perl ecosystem, promising to streamline text handling tasks while prioritizing safety and reliability. For more information, you can visit its homepage on MetaCPAN or access the source code on GitHub.

Text-Safer
Release | 11 Jun 2025 06:24 AM | Author: PERLANCAR | Version: 0.002
Convert text to a safer (e.g. more restricted) encoding
Text::Safer is a Perl module designed to convert text into safer, more restricted encodings, making it ideal for sanitizing input for URLs, filenames, or other contexts where special characters may cause issues. With its primary function, `encode_safer`, users can easily transform strings into various formats, such as kebab-case or snake_case, with options for case sensitivity. The module supports multiple encoding styles, including a newly added option for "alphanum_kebab_nodashend_lc," enhancing its versatility. This makes Text::Safer a valuable tool for developers looking to ensure that their text data is clean and compliant with specific formatting requirements. For more information, visit the project's homepage on MetaCPAN.
Handle Common Gateway Interface requests and responses
The CGI module in Perl provides a comprehensive framework for handling Common Gateway Interface (CGI) requests and responses, making it easier to create dynamic web applications. It allows developers to process form submissions, manage file uploads, read and write cookies, and generate HTTP headers and responses. With both object-oriented and function-oriented interfaces, CGI.pm simplifies the retrieval of parameters and the management of session state, while also supporting various web server configurations, including mod_perl and FastCGI. Although it has been removed from the Perl core as of version 5.20, CGI.pm remains a widely used tool for web development, though users are encouraged to explore more modern alternatives for better practices in web application development.

App-Greple-xp
Release | 11 Jun 2025 06:12 AM | Author: UTASHIRO | Version: 1.01
Extended pattern module
The App::Greple::xp module is an extended pattern module designed to enhance the functionality of the greple command-line tool by providing advanced pattern matching capabilities. With this module, users can specify various pattern and string options through command-line arguments, allowing them to read patterns from files or define fixed strings for matching. It supports multiline regular expressions and includes features for ignoring comment lines in pattern files, making it versatile for complex matching scenarios. Additionally, users can utilize wildcards to specify multiple files, streamlining the process of pattern management. This module is particularly useful for developers and system administrators who require sophisticated text processing and searching capabilities in their workflows.
The SPVM Language
SPVM is a statically typed programming language that features a Perl-like syntax, designed for high performance and ease of use. It allows developers to execute SPVM programs, generate executable files, and leverage both Ahead-of-Time (AOT) and Just-in-Time (JIT) compilation. With support for native threads, static types, and type inference, SPVM facilitates robust programming while enabling seamless integration with C and C++ libraries. Additionally, it provides Perl bindings for SPVM methods, making it easy to call SPVM functions from Perl scripts. Although still in development and lacking a stable release, SPVM offers a comprehensive set of features and documentation, making it a compelling choice for developers looking to combine the familiarity of Perl with the performance of a statically typed language.

Mail-Milter-Authentication
Release | 11 Jun 2025 02:17 AM | Author: MBRADSHAW | Version: 3.20250611
A Perl Mail Authentication Milter
Mail::Milter::Authentication is a Perl module designed to facilitate email authentication through the use of the Milter protocol, providing a robust framework for handling various authentication standards such as DMARC, DKIM, and SPF. This module acts as a subclass of Net::Server::PreFork, managing the server processes necessary for authentication tasks while allowing for extensibility through its handler and protocol classes. Recent updates include enhancements to DMARC reporting, such as the addition of options for suppressing reports and improved logging for IPv6 addresses, making it easier for administrators to manage email authentication effectively. With its comprehensive logging capabilities and support for multiple protocols, Mail::Milter::Authentication is an essential tool for ensuring secure email communication.

Mojolicious-Plugin-CaptchaPNG
Release | 11 Jun 2025 01:40 AM | Author: GRYPHON | Version: 1.05
PNG captcha generation and validation Mojolicious plugin
Mojolicious::Plugin::CaptchaPNG is a versatile plugin for the Mojolicious web framework that facilitates the generation and validation of PNG-based captchas. By integrating this plugin, developers can easily create a captcha route (defaulting to "/captcha") that generates a customizable captcha image using GD::Image. The plugin provides helper methods to retrieve, validate, and clear the captcha value stored in the session, enhancing security during user interactions such as registrations. Key settings include the path to a TrueType font for text rendering, image dimensions, noise levels, and customizable display formats for the captcha text. The latest version, 1.05, includes a minor update to the documentation, ensuring clarity for users.

Mojolicious-Plugin-CSRF
Release | 11 Jun 2025 01:38 AM | Author: GRYPHON | Version: 1.03
Cross Site Request Forgery (CSRF) "prevention" Mojolicious plugin
Mojolicious::Plugin::CSRF is a plugin designed for the Mojolicious web framework that provides a mechanism for preventing Cross Site Request Forgery (CSRF) attacks. By integrating this plugin into a Mojolicious application, developers can ensure that data-altering HTTP requests (such as POST, PUT, DELETE, and PATCH) are accompanied by a unique session token, which is validated against tokens submitted via form fields, URL parameters, or HTTP headers. The plugin offers customizable options, including the ability to define how tokens are generated, specify which request methods to protect, and set hooks for handling successful or failed token checks. Additionally, it automatically appends the CSRF token to forms rendered in HTML, enhancing security while maintaining ease of use for developers.

DateTime-Format-Mail
Favorite | 10 Jun 2025 10:47 PM | Author: BOOK | Version: 0.403
Convert between DateTime and RFC2822/822 formats
The `DateTime::Format::Mail` Perl module provides a robust solution for converting between `DateTime` objects and RFC2822/RFC822 formatted date strings, which are commonly used in email headers. It features a strict parser that ensures compliance with RFC2822 standards, as well as a loose parser that can handle common formatting errors from other sources. Users can easily create new instances of the module to customize parsing behavior, including setting a year cutoff for two-digit years. The module also allows for straightforward formatting of `DateTime` objects back into RFC2822 strings, making it an essential tool for developers working with email date formats in Perl applications.

DateTime-Format-RFC3339
Favorite | 10 Jun 2025 10:46 PM | Author: IKEGAMI | Version: v1.10.0
Parse and format RFC3339 datetime strings
The `DateTime::Format::RFC3339` Perl module is designed to parse and format datetime strings in the RFC3339 format, which is a profile of ISO 8601. This module allows developers to easily convert RFC3339 strings into `DateTime` objects and vice versa, facilitating the handling of date and time data in a standardized manner. It offers customizable options such as the number of decimal places in formatted strings, the separator between date and time, and whether to enforce uppercase formatting. Recent updates in version 1.10.0 include a correction to the required version of `ExtUtils::MakeMaker`, ensuring compatibility and stability for users. This module is particularly useful for applications that require precise datetime handling in compliance with internet standards.

Test2-Harness
Release | 10 Jun 2025 10:42 PM | Author: EXODIST | Version: 1.000161
A new and improved test harness with better Test2 integration
Test2::Harness is a robust Perl module designed to serve as the backend for running and processing tests, offering enhanced integration with the Test2 framework. While users typically interact with it indirectly through the App::Yath user interface, Test2::Harness provides essential functionalities for managing test execution and output. Recent updates include significant bug fixes and improvements, such as the removal of an unintended dependency on Test::Exception and enhancements to preserve the exit status in more scenarios. This module is particularly valuable for developers seeking a reliable and efficient testing harness that leverages the capabilities of Test2.

RT-Extension-NonWatcherRecipients
Release | 10 Jun 2025 04:40 PM | Author: BPS | Version: 1.04
RT-Extension-NonWatcherRecipients Extension
RT::Extension::NonWatcherRecipients is a Perl module designed for the Request Tracker (RT) system, which enhances email correspondence management by notifying users when non-watcher email recipients are included in ticket communications. This module identifies email addresses that are not associated with watchers on a ticket and generates a message suggesting that these individuals may need to be added to ensure they receive future updates. The notification can be formatted in either plain text or HTML, allowing for flexibility in presentation. Recent updates include compatibility with RT 6.0, ensuring that users of the latest version of RT can benefit from this functionality. By integrating this module, organizations can improve communication efficiency and ensure that all relevant parties are kept informed about ticket developments.

DBIx-Class
Favorite | 10 Jun 2025 04:39 PM | Author: RIBASUSHI | Version: 0.082844
Extensible and flexible object <-> relational mapper
DBIx::Class is a powerful and flexible object-relational mapper (ORM) for Perl that facilitates the interaction between Perl applications and relational databases. It allows developers to represent database tables as Perl classes, enabling a more intuitive and object-oriented approach to database operations. With features such as support for complex queries, multi-column primary and foreign keys, and the ability to retrieve related records through joins, DBIx::Class streamlines database interactions while minimizing memory usage. The module is designed to be extensible and is compatible with various database systems, making it a popular choice for developers looking to simplify their database management tasks in Perl applications.

Beanstalk-Client
Favorite | 10 Jun 2025 04:39 PM | Author: GBARR | Version: 1.07
Client to communicate with beanstalkd server
Beanstalk::Client is a Perl module that provides a robust API for interacting with the beanstalkd server, a high-performance, in-memory work queue service. This module allows developers to easily manage job queues by enabling them to put jobs into specified tubes, reserve jobs for processing, and manage job states (such as deleting, releasing, or burying jobs). It supports customizable serialization for job data using encoders like YAML and JSON, and offers various configuration options such as setting default job priorities, time-to-run (TTR), and delays. Notably, the recent version 1.07 introduced support for the new `kick_job` command, enhancing the module's functionality by allowing users to move specific jobs from a buried or delayed state back to the ready queue. This makes Beanstalk::Client a powerful tool for developers looking to implement efficient job processing systems in their applications.

RT-Extension-MergeUsers
Release | 10 Jun 2025 04:29 PM | Author: BPS | Version: 1.11
Merges two users into the same effective user
RT::Extension::MergeUsers is a Perl module designed for the Request Tracker (RT) system, enabling administrators to merge two user accounts into a single effective user seamlessly. This extension enhances the User Administration page by adding a "Merge Users" feature, allowing for easy account consolidation. It also introduces programmatic capabilities through the RT::User class with functions like "MergeInto" and "UnMerge," facilitating automated user management. Additionally, it ensures that emails sent from secondary users appear as if they are coming from the primary user, maintaining a unified communication identity. The module includes utilities for cleaning up merged user records and provides installation instructions for integration with various RT versions.
Minimalist Object Orientation (with Moose compatibility)
Moo is a lightweight object-oriented system for Perl that provides a minimalist approach to defining classes and roles, while maintaining compatibility with Moose. It allows developers to create objects with a simple syntax, avoiding the complexities of Perl's object system, making it ideal for scenarios where fast startup times are crucial, such as command-line scripts or single-file deployments. Moo supports a subset of Moose's features, enabling seamless interoperability; if Moose is loaded, Moo classes can be used without modification in Moose code. Recent updates have improved Moo's performance and reduced its dependencies, making it easier to deploy in various environments. Notably, version 2.005005, released in January 2023, dropped the dependency on Test::Fatal, further simplifying the module's requirements.

HTTP-Message
Favorite | 10 Jun 2025 04:21 PM | Author: OALDERS | Version: 7.00
HTTP style message (base class)
The `HTTP::Message` Perl module serves as a foundational class for handling HTTP-style messages, encapsulating both headers and content. It provides a variety of methods for creating, parsing, and manipulating HTTP messages, including the ability to manage headers, content encoding, and multipart messages. Users can construct new message objects, retrieve or modify headers, and handle content in various formats, including UTF-8. Recent updates in version 7.00, released on October 7, 2024, include a significant fix that stops the automatic transformation of line feeds (LF) into carriage return and line feeds (CRLF), addressing a long-standing issue (GH#196). This module is essential for developers working with HTTP requests and responses in Perl, offering a robust interface for managing the complexities of HTTP messaging.

Data-Printer-Filter-JMAP
Release | 10 Jun 2025 01:43 PM | Author: RJBS | Version: 0.002
A Data::Printer filter for JMAP::Tester-related objects
Data::Printer::Filter::JMAP is a Perl module designed to enhance the output of Data::Printer for objects related to JMAP::Tester, specifically targeting JMAP::Tester::Response, JMAP::Tester::Response::Sentence, and JMAP::Tester::Result::Failure. This filter aims to provide a more readable and aesthetically pleasing representation of these objects when dumped. The module is compatible with a wide range of Perl versions, ensuring accessibility for users with both recent and older installations. A noteworthy update in version 0.002, released on June 10, 2025, improved the serialization of JSON boolean values, allowing them to be represented accurately rather than as references to previously encountered values.

Datastar-SSE
Release | 10 Jun 2025 01:21 PM | Author: JWRIGHT | Version: 0.24
Module for creating Datastar Server Events
The `Datastar::SSE` module provides a Perl implementation of the Datastar Server Sent Event SDK, enabling developers to create and manage real-time web applications that utilize server-sent events (SSE). This module allows for the merging, removal, and execution of HTML fragments and JavaScript in the browser, facilitating dynamic updates to the DOM based on server-side events. With features such as customizable merge modes and options for handling signals, `Datastar::SSE` streamlines the process of sending multiple event strings in HTTP responses, making it an essential tool for developers looking to enhance user experiences with live data updates.

Devel-Cover
Release | 10 Jun 2025 01:18 PM | Author: PJCJ | Version: 1.50
Code coverage metrics for Perl
Devel::Cover is a Perl module designed to provide comprehensive code coverage metrics, allowing developers to assess how thoroughly their tests exercise the codebase. By utilizing Devel::Cover, users can identify untested areas of their code, thereby improving test quality and overall software reliability. The module supports various coverage criteria, including statement, branch, condition, subroutine, and POD coverage, and generates detailed reports in multiple formats, including HTML and text. It also offers features for annotating reports and integrating C or XS code coverage with Perl coverage data. With its stable functionality and extensive options for customization, Devel::Cover is an essential tool for Perl developers aiming to enhance their testing practices and ensure higher code quality.

ClearPress
Release | 10 Jun 2025 12:42 PM | Author: RPETTETT | Version: v2025.6.7
ClearPress - Simple, fresh & fruity MVC framework
ClearPress is a lightweight web application framework designed for rapid development using a simplified, vaguely MVC architecture. It allows developers to structure their applications with a clear separation of models, views, and controllers, while providing a straightforward setup process through a command-line script. ClearPress emphasizes manual model creation, where models represent database entities and can include relationships through methods like `belongs_to_through`. Views are easily added and utilize Template Toolkit for rendering, enabling dynamic content generation. Recent updates have improved parameter sanitization for POST data, enhancing security and reliability in handling user input. Overall, ClearPress is ideal for developers looking for a flexible and efficient framework for building web applications in Perl.

Date-Holidays-AU
Release | 10 Jun 2025 11:31 AM | Author: DDICK | Version: 0.34
Determine Australian Public Holidays
The Perl module Date::Holidays::AU provides a straightforward way to determine public holidays in Australia, utilizing the interface defined by Date::Holidays::Abstract. With methods such as `is_holiday`, which checks if a specific date is a holiday based on the provided state, and `holidays`, which returns a list of holidays for a given year and state, this module is essential for developers needing to incorporate holiday logic into their applications. It supports various Australian states, allowing for customization through parameters specific to each region. The latest version, 0.34, released on June 10, 2025, includes corrections to Queensland's King's Birthday holiday and improved test coverage, ensuring greater accuracy and reliability in holiday calculations.

Google-SAML-Response
Release | 10 Jun 2025 10:27 AM | Author: MANNI | Version: 0.15
Generate signed XML documents as SAML responses for Google's SSO implementation
The `Google::SAML::Response` Perl module is designed to facilitate the generation of signed XML documents that serve as SAML responses for Google's Single Sign-On (SSO) implementation. This module is particularly useful for web applications that authenticate users and wish to enable seamless access to Google services, such as Gmail, without requiring users to enter their credentials. By handling SAML requests and generating the appropriate signed responses, `Google::SAML::Response` allows developers to create a smooth authentication flow where users can be redirected to Google after being authenticated in their own systems. The module requires several prerequisites for cryptographic operations and XML processing, and it provides methods to generate the signed XML response and create an HTML form for redirecting users to Google.