Recent Perl modules, releases and favorites.
Last updated 14 November 2025 12:30 AM
Last updated 14 November 2025 12:30 AM
Create multi-page ticket creation wizards for RT
RT::Extension::FormTools is a powerful Perl module designed to enhance the Request Tracker (RT) ticketing system by enabling administrators to create multi-page ticket creation wizards. This extension provides a user-friendly interface for building forms that collect detailed information from users before generating tickets, making it ideal for organizations that require structured data input. With features such as customizable HTML elements, conditional field visibility, and routing options based on user input, FormTools allows for a tailored ticket submission experience. The module is compatible with RT version 6.0.0 and newer, and recent updates have improved validation for conditionally shown fields and added callbacks for additional validation, ensuring a more robust form handling process.
Geo-IPinfo
Release | 13 Nov 2025 04:14 PM | Author: IPINFO | Version: v3.1.2
Upvotes: 2 | CPAN Testers: Pass 100.0%
The official Perl library for IPinfo
Geo::IPinfo is the official Perl library for accessing IPinfo's extensive database of IP address data, providing reliable and accurate geolocation, company, carrier, and IP type information. With version 3.1.1, this module allows developers to create an IPinfo object using an access token to bypass the default request limitations, and offers methods to retrieve detailed information for both IPv4 and IPv6 addresses. Users can easily access various data points such as city, country, latitude, longitude, and more through a straightforward interface. Additionally, the module supports caching policies and localization options, making it a versatile tool for applications that require in-depth IP address analysis.
Archive-Tar-Stream
Release | 13 Nov 2025 03:54 PM | Author: BRONG | Version: 0.03
CPAN Testers: Pass 100.0%
Pure perl IO-friendly tar file management
Archive::Tar::Stream is a Perl module designed for efficient management of tar files, particularly suited for handling large archives such as email backups. It operates by utilizing two file handles—one for reading and one for writing—without performing any seeking, which allows for streamlined processing of individual records. The module provides various methods for adding files, copying streams, and managing headers, while also offering a "safe copy" feature that ensures data integrity during operations. Notably, the recent update in version 0.02 addressed a bug by adding a missing typeflag to the AddLink method, enhancing the module's functionality. This makes Archive::Tar::Stream an excellent choice for developers needing a robust solution for tar file manipulation in Perl.
CLI-Osprey
Release | 13 Nov 2025 03:11 PM | Author: ARODLAND | Version: 0.09
Upvotes: 9 | CPAN Testers: Pass 100.0%
MooX::Options + MooX::Cmd + Sanity
CLI::Osprey is a Perl module designed to streamline the creation of command-line applications using Moo and Moose object-oriented frameworks. It simplifies the process of parsing command-line arguments and automatically generates help messages and manual pages, allowing developers to structure their applications with options and sub-commands. Unlike its predecessor MooX::Options, CLI::Osprey is pure Perl, eliminating mandatory XS dependencies, and offers built-in support for sub-commands, enhancing usability and control over command-line interfaces. The latest version, 0.09, includes a fix for the mapping of underscores in attribute names to dashes in option names, ensuring consistent behavior as intended, although it may affect users relying on previous incorrect functionality.
Sim::OPT is a optimization and parametric exploration program that can mix sequential and parallel block search methods
Sim::OPT is a Perl module designed for optimization and parametric exploration, particularly in the context of simulation programs that utilize text files for input and output. It emphasizes problem decomposition and offers various optimization techniques, including block search methods that allow overlapping subspaces and a combination of sequential and parallel searches. The module includes specialized components such as Sim::OPT::Takechange for exploring less traversed search paths, and Sim::OPT::Morph for manipulating simulation model parameters. Additionally, it supports advanced features like variance-based sensitivity analyses and can work with pre-simulated datasets. Users can easily install Sim::OPT and configure it to run simulations with specific parameters, making it a versatile tool for optimizing building designs and other complex models. The module has been actively maintained, with its initial version released in December 2021.
Test2-Tools-Pod
Release | 13 Nov 2025 01:31 PM | Author: TESSARIN | Version: v0.1.0
Check that POD syntax is valid
The Perl module "Test2::Tools::Pod" is designed to validate the syntax of Plain Old Documentation (POD) in Perl source files, ensuring that any parsing errors are reported as test failures. Built on the Test2::API framework, it provides two primary functions: `pod_ok`, which checks the POD syntax of a single file, and `all_pod_ok`, which recursively scans directories for Perl files containing POD, automatically ignoring version control directories. This module is particularly useful for authors and continuous integration processes that require POD correctness without delving into formatting or additional diagnostics. The initial release in November 2025 introduced these features along with customizable directory ignore lists and duplicate filtering for enhanced usability.
Listing in the style of OOP, when each renewal is an object
Aion::Enum is a Perl module designed to facilitate the creation of enumerations in an object-oriented programming style, allowing each enumeration case to be treated as an object. This module enables developers to define enumerations with additional properties and methods, similar to PHP 8 enums, while also supporting features like aliases and stashes for enhanced functionality. With Aion::Enum, users can easily create and manage enumerations, retrieve case names, values, and associated data, and implement type checks for added robustness. Its intuitive syntax and comprehensive methods make it a powerful tool for managing enumerated types in Perl applications.
minion-task
Favorite | 13 Nov 2025 06:58 AM | Author: CRLCU | Version: v0.0.3
Upvotes: 1 | CPAN Testers: Pass 100.0%
A task boilerplate for Minion
Minion::Task is a Perl module designed to facilitate the creation and management of background tasks within the Mojolicious framework. It serves as a boilerplate for defining tasks, allowing developers to implement custom logic while leveraging built-in methods for task dispatching, processing chains of subtasks, and initiating task execution. The module inherits attributes and methods from Mojo::Base, enhancing its functionality with specific methods like `dispatch`, `processChain`, and `start`. Notably, a recent update improved error logging by changing the way fatal errors are handled, ensuring better integration with the Mojolicious logging system. This module is essential for developers looking to efficiently manage asynchronous tasks in their Mojolicious applications.
SPVM-Regex
Release | 13 Nov 2025 02:14 AM | Author: KIMOTO | Version: 0.254
CPAN Testers: Pass 100.0%
Regular Expressions
The SPVM::Regex module provides a powerful interface for working with regular expressions in Perl, leveraging the Google RE2 engine for efficient pattern matching and string manipulation. It offers methods for matching patterns, replacing substrings, and splitting strings based on regular expressions, making it suitable for a variety of text processing tasks. Users can create Regex objects with custom patterns and flags, perform matches with support for UTF-8 and capturing groups, and execute replacements both globally and with callbacks for dynamic content generation. This module is ideal for developers looking to integrate robust regex capabilities into their SPVM applications.
Asm-X86
Release | 12 Nov 2025 08:52 PM | Author: BOGDRO | Version: 0.72
Upvotes: 2 | CPAN Testers: Pass 100.0%
List of instructions and registers of x86-compatible processors, validating and converting instructions and memory references
The `Asm::X86` Perl module provides a comprehensive toolkit for working with x86-compatible processor instructions and registers. It allows users to validate and convert strings representing x86 instructions and memory references, check the validity of various addressing modes, and convert between AT&T and Intel syntaxes. With functions to verify the legitimacy of registers and instructions across different sizes and types, as well as arrays containing lists of these elements, `Asm::X86` is an essential resource for developers working with low-level assembly code. The latest version, 0.72, includes updates to the instruction list based on NASM version 3.01, along with code simplifications and performance improvements, ensuring that users have access to the most accurate and efficient tools for their assembly programming needs.
It's the Daje database classes
Daje::Database::Model is a Perl module designed to facilitate the creation and management of database classes within the Daje framework. It provides a structured approach to database interactions, allowing developers to define models that represent their data and handle database operations efficiently. The module requires Perl version 5.40 or higher and is marked as experimental. Notably, in the recent update (version 0.09), a base class for defaults was introduced, enhancing the module's functionality and usability, alongside a bug fix to improve stability. This makes Daje::Database::Model a valuable tool for developers looking to streamline their database management tasks in Perl applications.
Perl library to connect with the Harvard Astrophysical Data Service
Astro::ADS is a Perl library designed to facilitate interaction with the Harvard Astrophysical Data Service (ADS), a comprehensive digital library for astronomy and physics research. This module allows users to perform searches on abstracts and full-text publications, making it an essential tool for researchers in these fields. With version 1.92, recent enhancements include the addition of a `query_tree` method for generating abstract syntax trees of queries, a `bigquery` method for filtering queries with extensive lists of bibcodes, and improvements to the `post_response` method to handle both string content and JSON payloads. To utilize Astro::ADS, users must register for an ADS account and obtain an API token, which can be easily integrated into their applications.
A postmodern object system for Perl 5, such as “Mouse”, “Moose”, “Moo”, “Mo” and “M”, but with improvements
Aion is a modern object-oriented programming framework for Perl 5 that enhances class creation with features such as aspects and roles, similar to other frameworks like Mouse, Moose, and Moo, but with notable improvements. It allows developers to define class properties (features) and their behaviors (aspects) using a straightforward syntax, enabling robust type checking and method signature validation. Aion supports various aspects like read-only, write-only, and lazy evaluation, along with the ability to define custom behaviors through aspects and roles. A significant recent update in version 1.0, released on November 12, 2025, includes the addition of coverage on MetaCPAN, enhancing the module's visibility and accessibility for users.
DBD-libsql
Release | 12 Nov 2025 12:32 PM | Author: YTURTLE | Version: 0.04
DBI driver for libsql databases
DBD::libsql is a Perl DBI driver designed for seamless interaction with libsql databases over HTTP, making it ideal for applications that require remote database access. As a fork of SQLite, libsql supports server-side deployment and offers full SQL functionality, including transactions, prepared statements, and parameter binding. This module simplifies the connection process with smart defaults for various hosts, particularly integrating well with Turso, a managed libsql service, allowing for authentication via tokens. Recent updates have improved functionality, such as dynamic column name retrieval in `fetchrow_hashref` and enhanced integration tests, ensuring robust performance and reliability for developers working with libsql databases.
BioX-Seq
Favorite | 12 Nov 2025 12:30 PM | Author: VOLKENING | Version: 0.008009
Upvotes: 3 | CPAN Testers: Pass 100.0%
A (very) basic biological sequence object
BioX::Seq is a lightweight Perl module designed to represent biological sequences in a straightforward manner, striking a balance between simplicity and functionality. It allows users to create sequence objects with properties such as sequence data, ID, description, and quality, while providing essential methods for common operations like reverse complementing, translating, and extracting subsequences. The module supports output in both FASTA and FASTQ formats, making it suitable for bioinformatics applications. Although it prioritizes speed and minimalism—eschewing extensive input validation and using positional parameters—it remains flexible enough for various sequence manipulation tasks, making it a practical choice for developers working with biological data.
Lightweight yet powerful web application framework
Dancer2 is a modern, lightweight web application framework for Perl, designed to simplify the process of creating web applications while maintaining powerful capabilities. As a complete rewrite of the original Dancer framework, it leverages Moo for enhanced performance and can utilize XS modules for speed improvements. Dancer2 is also fatpackable, allowing developers to deploy applications easily on servers without custom CPAN module support. With its straightforward syntax, developers can quickly set up applications, making it an ideal choice for both beginners and experienced programmers looking to build web solutions efficiently. Comprehensive documentation, including tutorials, configuration guides, and deployment instructions, supports users in maximizing the framework's potential.
Debug-Easy
Release | 12 Nov 2025 11:13 AM | Author: RKELSCH | Version: 2.18
A Handy Debugging Module With Colorized Output and Formatting
Debug::Easy is a versatile Perl module designed to simplify the debugging process by providing colorized output and formatted logging. It allows developers to easily incorporate various logging levels—ranging from errors to detailed debug messages—into their scripts, with the ability to customize output formats and colors for better readability. The module automatically benchmarks code execution, helping to identify performance bottlenecks, and it manages the logging context, so developers don't need to manually specify the location of debug messages. Recent updates have improved compatibility with non-threaded Perl environments and relaxed version requirements, making it more accessible for a wider range of projects. With its user-friendly interface and robust features, Debug::Easy is an essential tool for any Perl developer looking to enhance their debugging capabilities.
Net-API-Stripe
Favorite | 12 Nov 2025 09:08 AM | Author: JDEGUEST | Version: v2.0.6
Upvotes: 4 | CPAN Testers: Pass 100.0%
An interface to the Stripe API
The `Net::API::Stripe` module provides a comprehensive and object-oriented interface for interacting with the Stripe API, allowing developers to easily manage various aspects of payment processing, including customer management, invoicing, subscriptions, and more. With support for over 200 API methods, this module simplifies the integration of Stripe's services into Perl applications, enabling functionalities such as creating and retrieving customers, handling charges, managing subscriptions, and processing refunds. The recent update to version 2.0.6 includes the removal of an unused dependency, enhancing the module's efficiency and maintainability. This module is particularly useful for developers looking to streamline their payment processing workflows while leveraging the extensive capabilities of the Stripe platform.
Whim
Favorite | 12 Nov 2025 09:08 AM | Author: JMAC | Version: 1.2023.04.06.0
Upvotes: 1 | CPAN Testers
A Webmention multitool
The Whim Perl module serves as a foundational code library for the Whim webmention multitool, primarily utilized by the "whim" executable. While it does not offer a public interface, it plays a crucial role in facilitating webmention functionalities. A notable recent enhancement in version 1.2023.04.06.0 is the introduction of a custom user agent string, which improves the module's resilience against request refusals by content delivery networks (CDNs) and similar services. This update reflects the module's ongoing commitment to reliability and performance in webmention processing.
App-Raps2
Favorite | 12 Nov 2025 09:08 AM | Author: DERF | Version: 0.54
Upvotes: 1 | CPAN Testers: Fail 100.0%
A Password safe
App::Raps2 is a Perl module that serves as the backend for raps2, a command-line password manager designed to securely store and manage passwords. With a focus on simplicity and usability, it allows users to create, load, and save encrypted passwords, utilizing a master password for encryption. The module provides various configuration options, including the cost of key setup and the command used for password generation, ensuring flexibility for different user needs. Recent updates in version 0.54 include the addition of a "dump-all" command and fixes for smartmatch warnings in Perl versions 5.18 and above, enhancing its functionality and stability. Overall, App::Raps2 is a robust solution for anyone looking to manage their passwords securely through a command-line interface.
Perl Xmms change file
The Xmms Perl module provides an interactive remote control shell for the XMMS (X Multimedia System) audio player, allowing users to manage playback and playlists through a command-line interface. It offers a comprehensive set of features including standard play controls (play, pause, stop, next, previous), playlist management (adding files, loading/saving playlists, sorting), and detailed file information handling (searching and editing MP3 tags). The shell supports command history, completion, and emacs key bindings for enhanced usability. Recent updates have improved compatibility with newer versions of XMMS and introduced new remote methods for better control over the player. This module is ideal for users who prefer a text-based interface for audio playback management, providing more options than the standard GUI.
Acme-MetaSyntactic
Favorite | 12 Nov 2025 09:08 AM | Author: BOOK | Version: 1.015
Upvotes: 5 | CPAN Testers: Pass 100.0%
Themed metasyntactic variables names
The Acme::MetaSyntactic Perl module provides a playful solution for generating themed metasyntactic variable names, making it easier for developers to avoid mundane naming conventions in their code examples. By utilizing a variety of themes, users can quickly retrieve unique names through both an object-oriented interface and convenient exported functions. The module supports multiple themes, allowing for temporary switches and the creation of new themes, while also offering a command-line tool for quick access. Recent enhancements include the addition of a transliteration feature for better UTF-8 support, reflecting the module's ongoing evolution and commitment to usability.
Query, download and build perl modules from CPAN sites
The CPAN module is a powerful tool for managing Perl modules and extensions, allowing users to query, download, and install them from the Comprehensive Perl Archive Network (CPAN) with ease. It provides both an interactive shell and a programmatic interface, enabling users to install specific modules or entire distributions, manage dependencies, and handle installation processes efficiently. The module supports various download methods, including HTTP and FTP, and features a session manager to track installations and a cache manager to optimize disk space usage. Additionally, it allows for the creation of bundles, which simplify the management of related modules, and offers configuration options to tailor the installation process to individual needs. With its robust functionality, CPAN streamlines the process of maintaining a Perl environment, making it an essential tool for Perl developers.
Webify your CLI
App::Wax is a Perl module designed to enhance command-line interfaces by enabling the conversion of URL arguments into local file paths for other command-line programs. It serves as a helper library for the wax command-line tool, allowing users to run commands while seamlessly handling remote resources through caching and mirroring options. With attributes such as customizable application names, timeout settings for HTTP requests, and the ability to specify directories for downloaded resources, App::Wax provides flexibility and control over how URLs are processed. Notably, version 2.5.0 introduced compatibility with Perl v5.42, updated dependencies, and replaced deprecated components, ensuring the module remains modern and efficient for users.
libwww-perl
Favorite | 12 Nov 2025 09:08 AM | Author: OALDERS | Version: 6.81
Upvotes: 174 | CPAN Testers
The World-Wide Web library for Perl
The LWP (Library for WWW in Perl) module is a comprehensive collection of Perl modules designed to facilitate the creation of web clients and servers. It provides a simple and consistent API for handling HTTP-style communication, allowing developers to easily send requests and receive responses from various web resources, including HTTP, HTTPS, FTP, and more. The library supports object-oriented programming, enabling users to work with request and response objects, manage cookies, handle redirects, and parse HTML forms. Recent updates include the addition of a security policy file and improvements to test expectations, enhancing the module's robustness and security. With its extensive features and flexibility, LWP is an essential tool for Perl developers working with web applications.
Snapback2
Favorite | 12 Nov 2025 09:08 AM | Author: MIKEH | Version: 1.001
Upvotes: 1 | CPAN Testers: Pass 100.0%
Snapback2 -- automated rsync backup
The Backup::Snapback Perl module provides a robust solution for managing rsync-based snapshot backups, allowing users to create rolling backups with hourly, daily, weekly, and monthly rotations. By utilizing hard links, it efficiently minimizes storage space, enabling the creation of comprehensive yearly backups that consume only slightly more than the actual data size. The module is designed to be integrated with scripts like "snapback2" and offers various methods for configuration management, error logging, and backup operations. Notably, recent updates have improved functionality, such as allowing the specification of rsync on different ports and enhancing backup scheduling to accommodate systems that may be offline during regular backup times. This makes Backup::Snapback an essential tool for system administrators looking to implement effective and space-efficient backup strategies.
ODBC DBD for Perl DBI
DBD::ODBC is a Perl module that serves as an ODBC driver for the DBI (Database Interface) framework, enabling Perl applications to connect to various databases through ODBC (Open Database Connectivity). This module allows for seamless interaction with a wide range of databases by providing a consistent interface for executing SQL queries and managing database connections. The latest version, 1.61, includes significant improvements, particularly in handling Unicode data when inserting into CHAR/VARCHAR columns, which now binds parameters as SQL_WVARCHAR if the data appears to be Unicode. This change enhances compatibility and correctness when working with Unicode data across different database systems. DBD::ODBC is particularly useful for developers looking to create database-agnostic applications, as it abstracts the underlying database interactions while supporting a variety of ODBC drivers.
App-Presto
Favorite | 12 Nov 2025 09:08 AM | Author: MPERRY | Version: 0.010
Upvotes: 8 | CPAN Testers: Pass 100.0%
Command-line interface for RESTful web services
App::Presto is a command-line interface (CLI) tool designed for performing REST operations on web applications, leveraging the Term::ShellUI framework for an interactive user experience. With version 0.010, it addresses issues such as failing tests and introduces an 'exit' command as an alias for 'quit', enhancing usability. This module is particularly useful for developers and system administrators who need a straightforward way to interact with RESTful APIs directly from the command line, making it easier to test and manage web services efficiently.
podlators
Favorite | 12 Nov 2025 09:08 AM | Author: RRA | Version: v6.0.2
Upvotes: 15 | CPAN Testers: Pass 100.0%
Convert POD data to various other formats
Pod::Man is a Perl module designed to convert Plain Old Documentation (POD) into formatted *roff input suitable for manual pages. It facilitates the generation of man pages that can be displayed on terminals using nroff or printed using troff. The module can be invoked directly or through the driver script pod2man, allowing users to read POD from standard input or from a specified file and output the formatted result to a designated file. Notably, as of version 5.00, Pod::Man has changed its default output encoding to UTF-8, enhancing compatibility with modern systems while still supporting backward compatibility options for older UNIX systems. Recent updates in version 6.0.0 include the removal of fragile heuristics for hyphen handling and the introduction of semantic versioning for better package management.
Command line access to Wikidata Query Service
App::wdq is a Perl module that provides command line access to the Wikidata Query Service, enabling users to interact with and retrieve data from Wikidata directly through the terminal. This module simplifies the process of executing queries and obtaining results without the need for a web interface, making it a valuable tool for developers and researchers who require efficient access to structured data from Wikidata. For detailed usage instructions, users can refer to the accompanying command line script, wdq.