Recent Perl modules, releases and favorites.
Last updated 4 February 2026 08:31 PM
Last updated 4 February 2026 08:31 PM
Access Matplotlib from Perl; providing consistent user interface between different plot types
The `Matplotlib::Simple` Perl module is designed to facilitate the creation of visualizations by automatically generating Python scripts that utilize the popular `matplotlib` library. It allows users to easily plot various types of graphs, such as bar charts, pie charts, histograms, and scatter plots, by providing a straightforward interface to define data and plot parameters. The generated Python scripts are saved in a temporary directory for further editing or execution, making it a convenient tool for those who prefer working in Perl but want to leverage the powerful plotting capabilities of Python's `matplotlib`. With support for single and multiple plots, customizable options for colors, titles, and axes, this module aims to simplify the plotting process, making it more accessible than directly using `matplotlib` itself.
Software-License-MIT_0
Release | 4 Feb 2026 06:31 PM | Author: RYOSKZYPU | Version: v1.0.0
CPAN Testers: Pass 100.0%
MIT No Attribution License (MIT-0)
The Software::License::MIT_0 Perl module provides an implementation of the MIT No Attribution License (MIT-0), a permissive open-source license that allows users to freely use, modify, and distribute software without the requirement for attribution to the original author. This module simplifies the process of generating the license text by allowing developers to specify the copyright holder's name and retrieve the corresponding license text programmatically. Released in February 2026, this module is ideal for developers seeking a straightforward licensing solution that promotes maximum freedom for software use while eliminating attribution obligations.
Feed-Data-BBC
Release | 4 Feb 2026 06:09 PM | Author: LNATION | Version: 0.04
CPAN Testers: Pass 100.0%
BBC rss feeds
Feed::Data::BBC is a Perl module designed to facilitate the retrieval and parsing of BBC RSS feeds, covering various regions such as England, Africa, Asia, Europe, Latin America, the Middle East, and North America. With a straightforward interface, users can easily instantiate the module and access specific feeds to parse and render the data. This module is particularly useful for developers looking to integrate BBC news content into their applications or websites. The latest version, 0.04, continues to build on its initial release, providing a reliable tool for accessing and displaying BBC's diverse news coverage.
Chess-Plisco
Release | 4 Feb 2026 05:03 PM | Author: GUIDO | Version: v1.0.3
Upvotes: 1 | CPAN Testers: Pass 100.0%
Representation of a chess position with move generator, legality checker etc
Chess::Plisco is a high-performance chess library for Perl designed to facilitate efficient chess programming and analysis. It provides a comprehensive set of features including bitboard representation for the chessboard, move generation, legality checks, and support for various notations such as Forsyth-Edwards Notation (FEN) and Standard-Algebraic Notation (SAN). The library also includes a UCI-compatible chess engine, which has demonstrated competitive performance against engines written in more traditional languages like C and Rust. Recent updates in version 1.0.0 introduced significant changes, including a refined handling of FEN strings and a complete separation of engine code from the library, enhancing usability and performance. Chess::Plisco is particularly suited for developers seeking a robust and efficient solution for chess-related applications in Perl.
Enterprise-grade procrastination and entropy maximization
The Bored Perl module is a whimsical yet efficient tool designed for those moments when you need to do absolutely nothing—quickly and effectively. Utilizing XS for performance, it offers a range of functions that embody apathy, such as `do_nothing_efficiently`, `sigh`, and `whatever`, all optimized for speed. With features like SIMD-optimized sighing and a calibrated "meh" response, Bored humorously addresses the concept of pointlessness in programming. It even provides a singleton void for those who wish to metaphorically "stare into the void." While it may seem trivial, Bored serves as a playful reminder that sometimes, doing nothing can be an art form in itself.
Mail-Message
Release | 4 Feb 2026 02:55 PM | Author: MARKOV | Version: 4.04
Processing MIME messages
The `Mail::Message` Perl module serves as a comprehensive object-oriented representation of MIME-encoded email messages, adhering to the standards set by RFC2822. It encapsulates both the header and body of an email, allowing developers to easily manipulate and retrieve message attributes such as subject, sender, and recipients. With built-in methods for constructing replies, forwards, and bounces, `Mail::Message` simplifies complex email handling tasks. It also integrates seamlessly with the `Mail::Box` framework for managing email folders, enabling operations like reading, sending, and cloning messages. This module is particularly useful for applications that require robust email processing capabilities, providing a flexible and extensible foundation for building email-related functionalities in Perl.
BeamerReveal
Release | 4 Feb 2026 02:18 PM | Author: WDAEMS | Version: 20260204.1417
CPAN Testers: Pass 100.0%
Converts the .rvl file and the corresponding pdf file to a full reveal website
BeamerReveal is a Perl module designed to facilitate the creation of objects that correspond to the fundamental components of ".rvl" files, which are used for beamer to reveal conversions. This factory object provides methods for instantiating new objects, resetting the factory for subsequent parsing passes, and generating objects from specific data chunks, allowing for efficient parsing and error reporting based on the starting line of each chunk. With its straightforward interface, BeamerReveal streamlines the process of handling beamer presentations, making it an essential tool for developers working with this file format.
Graphics-Penplotter-GcodeXY
Release | 4 Feb 2026 11:10 AM | Author: NAMK | Version: v0.6.3
Produce gcode files for pen plotters from Perl
The Graphics::Penplotters::GcodeXY Perl module is designed for generating G-code files specifically for pen plotters, allowing users to create intricate designs using simple Perl commands. With support for various graphics primitives such as lines, boxes, polygons, and arcs, users can easily define shapes and output them in G-code format. The module accommodates different paper sizes and units (inches, millimeters, etc.), and includes features for importing SVG files and exporting to both SVG and Postscript formats. Recent updates in version 0.6.3 have addressed bugs related to the ellipse function and improved the handling of output formatting, enhancing the overall functionality and reliability of the module.
System Calls for File IO, Sockets, Time, Process, Signals, Users
The `SPVM::Sys` module provides a comprehensive interface for system calls related to file I/O, sockets, time management, process control, signal handling, and user management in the SPVM (Simple Perl Virtual Machine) environment. It allows developers to perform operations such as opening files, creating directories, managing sockets, and handling processes with a straightforward API. Notably, the module includes automatic conversion between UTF-16LE and UTF-8 for Windows file operations, ensuring compatibility across different platforms. Recent updates have improved the handling of environment variables and introduced new methods for time manipulation, enhancing the module's functionality. The latest version also addresses various bugs and compatibility issues, making it a robust choice for system-level programming in SPVM.
Compile Perl subs to optimized bytecode via optree walking
Stefo is a Perl module designed to enhance performance by compiling simple Perl subroutines into optimized bytecode, allowing them to execute at speeds comparable to C. By utilizing optree walking at compile-time, Stefo identifies recognizable patterns in the provided subroutine and converts them into a lightweight bytecode representation, significantly reducing execution cycles from approximately 100 to around 5 for certain operations. This module supports a variety of patterns, including numeric and string comparisons, arithmetic operations, and boolean logic, while falling back to standard Perl execution for unsupported patterns. Additionally, Stefo offers direct helper functions for common type checks and value assessments, making it a versatile tool for developers looking to optimize their Perl code, particularly in scenarios involving type constraints and hot loop predicates.
SPVM-Thread
Release | 3 Feb 2026 11:41 PM | Author: KIMOTO | Version: 0.006
CPAN Testers: Pass 100.0%
Native Thread
The SPVM::Thread module provides a straightforward interface for creating and managing native threads in Perl, leveraging the capabilities of C++'s std::thread. With this module, developers can easily spawn new threads to execute tasks concurrently, allowing for more efficient execution of code that can benefit from parallel processing. The module includes methods for thread creation, joining, and retrieving thread IDs, making it a powerful tool for multi-threaded programming in Perl. A notable recent update in version 0.006 enhances the module's exception handling by including full stack traces, which aids in debugging and improves error reporting during thread execution.
Dist-Zilla-PluginBundle-Author-ETHER
Release | 3 Feb 2026 11:03 PM | Author: ETHER | Version: 0.171
Upvotes: 4 | CPAN Testers: Pass 100.0%
A plugin bundle for distributions built by ETHER
The `Dist::Zilla::PluginBundle::Author::ETHER` module is a comprehensive plugin bundle designed for Perl distributions authored by Karen Etheridge. It streamlines the process of building, testing, and releasing Perl modules by integrating a wide array of plugins that handle tasks such as file gathering, metadata generation, testing, and version management. This bundle is particularly tailored for use with GitHub, ensuring that the necessary configurations for repositories and issue tracking are automatically set up. Recent updates include an addendum to the generated CONTRIBUTING file regarding AI-generated contributions, reflecting the module's ongoing evolution to accommodate modern development practices. This module is ideal for authors looking to simplify their distribution workflow while adhering to best practices in Perl module development.
BIMI object
Mail::BIMI is a Perl module designed for the retrieval, validation, and processing of Brand Indicators for Message Identification (BIMI) records. It facilitates the integration of BIMI into email systems by allowing developers to verify the presence and correctness of BIMI records associated with email messages, ensuring that messages are properly authenticated through DMARC and SPF checks. By creating a BIMI object with necessary parameters such as domain, selector, and validation objects for DMARC and SPF, users can easily manage authentication results and enhance email deliverability with brand logos. This module is particularly useful for organizations looking to improve their email security and brand recognition through the implementation of BIMI standards.
Markdown-Render
Release | 3 Feb 2026 09:35 PM | Author: BIGFOOT | Version: v2.0.2
Render markdown using GitHub API
Markdown::Render is a Perl module designed to convert Markdown documents into HTML format, utilizing either GitHub's API or the Text::Markdown::Discount library for rendering. It allows users to enhance their Markdown files with custom metadata and provides options for specifying CSS styles and document titles. The module can be used programmatically or via a command-line utility, making it versatile for various workflows. Notably, recent updates have improved the handling of table of contents generation and streamlined the command-line interface, ensuring a more efficient user experience. For more details, users can refer to the module's documentation on GitHub.
CLI-Simple
Release | 3 Feb 2026 09:27 PM | Author: BIGFOOT | Version: v1.0.11
Simple command line script accelerator
CLI::Simple is a minimalist object-oriented base class designed for creating command-line interface (CLI) applications in Perl. It simplifies the process of building scripts that handle options, commands, and arguments, allowing developers to focus on functionality rather than boilerplate code. With features like automatic logging, command argument parsing, and customizable help output, CLI::Simple provides a flexible framework without imposing a rigid structure. Recent updates in version 1.0.11 introduced new package variables, `$AUTO_HELP` and `$AUTO_DEFAULT`, which enhance control over default behaviors when no command is specified, allowing for a more tailored user experience. This module is ideal for internal tools and scripts where a lightweight solution is preferred over a full application framework.
Blessed-Merge
Release | 3 Feb 2026 08:25 PM | Author: LNATION | Version: 1.02
CPAN Testers: Pass 100.0%
Merge Blessed Refs
The Blessed::Merge Perl module provides a powerful solution for deeply merging multiple blessed references, allowing developers to combine complex data structures while maintaining control over how the merging occurs. With options to ensure unique keys in hashes, preserve order and uniqueness in arrays, and manage reference checks, this module is particularly useful for applications that require the integration of various object states or configurations. By instantiating a Blessed::Merge object with specific options, users can easily merge objects while customizing the behavior to suit their needs, making it an essential tool for developers working with object-oriented Perl.
CPAN-Uploader
Favorite | 3 Feb 2026 07:10 PM | Author: RJBS | Version: 0.103018
Upvotes: 25 | CPAN Testers: Pass 100.0%
Upload things to the CPAN
The CPAN::Uploader module is designed to facilitate the uploading of files to the Comprehensive Perl Archive Network (CPAN), making it easier for developers to share their Perl modules. With a straightforward interface, it allows users to upload files by specifying their CPAN/PAUSE credentials, the target directory, and other optional parameters such as HTTP proxy settings and retry options for failed uploads. The module also includes methods for reading configuration files and logging messages, enhancing usability and debugging capabilities. A recent noteworthy change in version 0.103018 involved refactoring and testing of the .pause parser, improving the module's reliability and performance. Overall, CPAN::Uploader is an essential tool for Perl developers looking to streamline the process of distributing their work on CPAN.
App-Software-License
Favorite | 3 Feb 2026 07:02 PM | Author: ETHER | Version: 0.11
Upvotes: 3 | CPAN Testers: Pass 100.0%
Command-line interface to Software::License
App::Software::License is a Perl module that provides a command-line interface for generating software license notices using the Software::License framework. It allows users to easily create copyright notices and license texts by specifying attributes such as the license holder's name, year, and the type of notice desired (either a brief notice or the full license text). Configuration options can be set via command-line arguments or through a configuration file located in the user's home directory. The recent update to version 0.11 improved the module by ensuring that warnings are only checked during tests when under AUTHOR_TESTING, thus preventing installation issues related to warnings in prerequisites. This makes it easier for developers to integrate licensing into their projects without unnecessary complications.
Class-XSConstructor
Release | 3 Feb 2026 05:00 PM | Author: TOBYINK | Version: 0.023002
A super-fast constructor in XS
Class::XSConstructor is a high-performance Perl module designed to create constructors for classes using XS (eXternal Subroutine) for speed. It extends the basic functionality of Class::XSAccessor by supporting advanced features similar to Moose, such as initialization from hash references or key-value pairs, required attributes, defaults, builders, type constraints, and type coercions. The module allows for fine-grained control over attribute initialization, including support for triggers, weak references, and custom slot initializers. Notably, recent updates have introduced the `clone_on_write` feature, which enables automatic deep cloning of incoming arguments, enhancing data integrity within objects. This module is ideal for developers seeking efficient object construction with robust attribute management in Perl applications.
Perl-Tidy
Release | 3 Feb 2026 02:43 PM | Author: SHANCOCK | Version: 20260204
Upvotes: 147 | CPAN Testers: Pass 100.0%
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 Perl scripts directly from their code. The module accepts various input parameters, including source code, destination for the formatted output, and configuration options through a .perltidyrc file. It also supports error handling, logging, and customizable formatting options, such as pre- and post-filters for additional processing. Notably, recent updates have improved handling of comments and introduced new parameters for better control over formatting, including options to manage side comments and maintain existing line breaks. This makes Perl::Tidy a powerful tool for developers looking to enforce coding standards and improve code readability in their Perl projects.
Beam-Wire
Release | 3 Feb 2026 02:18 PM | Author: PREACTION | Version: 1.029
Upvotes: 19 | CPAN Testers: Pass 100.0%
Lightweight Dependency Injection Container
Beam::Wire is a lightweight dependency injection container designed for Perl applications, enabling developers to manage object creation and dependencies through a flexible configuration system, typically defined in YAML format. By utilizing Beam::Wire, users can specify relationships between services, allowing the container to automatically instantiate and configure objects as needed, thereby promoting an inversion of control. This approach enhances modularity and testability in applications, as it decouples service creation from usage. With features like service overrides, nested containers, and event handling, Beam::Wire provides a robust framework for building complex applications while maintaining ease of customization and extensibility.
DBIx-Class-Async
Release | 3 Feb 2026 12:26 PM | Author: MANWAR | Version: 0.51
Non-blocking, multi-worker asynchronous wrapper for DBIx::Class
DBIx::Class::Async is a Perl module designed to facilitate asynchronous database operations using the DBIx::Class ORM framework. By leveraging a process-based worker pool built on IO::Async, it allows developers to perform non-blocking CRUD operations while maintaining persistent database connections in separate worker processes. This module returns results as Future objects, enabling efficient handling of database queries without stalling the main event loop. Key features include support for high-level atomic operations, transaction management, optional result caching, and health checks for worker processes. Ideal for applications requiring concurrent database access, DBIx::Class::Async enhances performance and responsiveness in environments where traditional synchronous database interactions may lead to bottlenecks.
IPC-MicroSocket
Release | 3 Feb 2026 12:05 PM | Author: PEVANS | Version: 0.05
Minimal request/response or pub/sub mechanism
The "IPC::MicroSocket" Perl module provides a lightweight mechanism for implementing request/response and publish/subscribe communication over local UNIX sockets. It allows clients to connect to a server, facilitating the exchange of messages where clients can send requests and receive asynchronous responses, or subscribe to specific topics to receive broadcast messages. Designed for simplicity, this module transmits data as raw byte strings, requiring users to handle any necessary encoding or serialization for more complex data types. Ideal for small-scale applications, "IPC::MicroSocket" stands out for its minimalistic approach, avoiding the complexities of larger frameworks while still offering essential messaging capabilities.
Excel-ValueWriter-XLSX
Favorite | 3 Feb 2026 09:09 AM | Author: DAMI | Version: 1.10
Upvotes: 3 | CPAN Testers: Pass 100.0%
Generating data-only Excel workbooks in XLSX format, fast
Excel::ValueWriter::XLSX is a Perl module designed for the efficient creation of data-only Excel workbooks in XLSX format, focusing on speed and low resource consumption. Unlike more feature-rich alternatives like Excel::Writer::XLSX, this module prioritizes performance by generating workbooks that contain only plain values and formulas, making it ideal for scenarios where Excel is used as a simple database or for handling large datasets. Users can easily add sheets with various data sources, including arrays, database handles, or callback functions, and can define names and formulas for use within the workbook. Recent updates include the addition of a <dimension> node in the XML output to enhance compatibility with the Excel ecosystem, particularly for the companion module Excel::ValueReader.
Git-Server
Release | 3 Feb 2026 08:09 AM | Author: BBB | Version: 0.036
Secure Git Server with more granular hooks capabilities than default git
Git::Server is a Perl module designed to serve as a secure Git server that enhances the default capabilities of Git by offering more granular hooks and access control lists (ACLs). It acts as a drop-in replacement for standard Git servers, allowing administrators to set up a Git repository with advanced server hooks and user permissions. The module simplifies the process of managing user access through SSH keys, enabling authorized users to perform Git operations seamlessly. With its focus on security and flexibility, Git::Server is ideal for developers looking to implement a robust Git hosting solution with tailored access controls.
SPVM-HTTP-Tiny
Release | 3 Feb 2026 06:58 AM | Author: KIMOTO | Version: 0.016
HTTP Client
SPVM::HTTP::Tiny is an experimental HTTP client module designed for use within the SPVM (Simple Perl Virtual Machine) framework, providing a straightforward interface for making HTTP requests. It serves as a wrapper around Mojo::User::Agent, allowing developers to perform various HTTP operations such as GET, POST, PUT, PATCH, HEAD, and DELETE requests while managing request headers and timeouts. The module emphasizes ease of use with a simple method for creating a new HTTP client instance and handling responses, including status codes and content. However, due to its experimental nature, users should be aware of potential incompatibilities and dependencies. This module is ideal for developers looking to integrate HTTP functionality into their SPVM applications with minimal overhead.
SPVM-Mojolicious
Release | 3 Feb 2026 06:09 AM | Author: KIMOTO | Version: 0.042
Real-time web framework
SPVM::Mojolicious is a real-time web framework that serves as a port of Perl's Mojolicious to the SPVM (Simple Perl Virtual Machine) environment. Currently in early development, this framework lacks comprehensive documentation, and its methods and functionalities are subject to frequent changes. It includes a variety of classes for handling HTTP requests, cookies, assets, and more, drawing on the capabilities of Mojolicious. Recent updates have introduced significant changes, such as the requirement for SPVM::Go 0.024 and the injection of Go::Context into several methods of Mojo::UserAgent, reflecting ongoing enhancements to its functionality. As it evolves, SPVM::Mojolicious aims to provide a robust foundation for building real-time web applications in the SPVM ecosystem.
Goroutines of The Go Programming Language
The SPVM::Go module provides a Perl interface to the goroutines and channels of the Go programming language, enabling concurrent programming within Perl applications. It allows developers to create and manage goroutines using the `go` method, and to communicate between them via channels created with the `make` method. The module includes various methods for scheduling, sleeping, and handling I/O operations with timeouts, ensuring efficient management of concurrent tasks. Recent updates have improved the handling of goroutine cancellation and introduced support for default values in sleep and I/O methods, enhancing usability and flexibility for developers. With its robust features, SPVM::Go is an essential tool for Perl programmers looking to leverage Go's concurrency model.
App-ansicolumn
Release | 3 Feb 2026 05:25 AM | Author: UTASHIRO | Version: 1.51
ANSI sequence aware column command
The `ansicolumn` Perl module is designed to facilitate the formatting of text output in a columnar layout while being aware of ANSI escape sequences, making it particularly useful for terminal applications that utilize color and formatting. This module allows users to create visually appealing and organized text displays, accommodating various options for borders, alignment, and margins. Recent updates include the addition of the `ansicolumn()` function for compatibility with `App::Greple::tee`, enhancing its integration capabilities, and the requirement for `Text::ANSI::Fold` version 2.3303, which improves text handling. With its flexible options and robust functionality, `ansicolumn` is an essential tool for developers looking to enhance terminal output in Perl applications.
App-ansifold
Release | 3 Feb 2026 05:24 AM | Author: UTASHIRO | Version: 1.35
Fold/colrm/cut command handling ANSI terminal sequences
App::ansifold is a Perl module designed to handle ANSI terminal sequences effectively, allowing users to fold command output while preserving the formatting of colored or styled text. This utility is particularly useful for developers and system administrators who need to manage terminal output that includes ANSI escape codes, ensuring that text remains readable and well-structured. Recent updates include the addition of a new `--margin` option for specifying right margin width and enhancements for better integration with other tools, such as the `App::Greple::tee`. The module also now supports improved handling of Korean text and various options for text formatting, making it a versatile tool for terminal output management.