CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 23 February 2026 04:31 AM
Perl logo

Unicode-UTF8

Release | 23 Feb 2026 03:44 AM | Author: CHANSEN | Version: 0.64
Upvotes: 20 | CPAN Testers: Pass 100.0%
Encoding and decoding of UTF-8 encoding form
The `Unicode::UTF8` Perl module provides essential functions for encoding and decoding UTF-8, adhering to the Unicode and ISO/IEC 10646:2011 standards. It offers two primary functions: `decode_utf8`, which converts octet sequences into UTF-8 character strings, and `encode_utf8`, which transforms character strings into UTF-8 octet sequences. Both functions support customizable error handling through optional fallback mechanisms, allowing developers to manage ill-formed sequences and code points that cannot be represented in UTF-8. Additionally, the module includes a `valid_utf8` function to check the integrity of UTF-8 sequences. A noteworthy recent change in version 0.64 allows the handling of noncharacters without special treatment, aligning with Unicode's Corrigendum #9, which states that these values should be permitted in data interchange. This module is particularly valued for its performance improvements and better diagnostics compared to other UTF-8 implementations in Perl.
Perl logo

Linux-Event-Listen

Favorite | 23 Feb 2026 02:55 AM | Author: HAX | Version: 0.014
Upvotes: 1 | CPAN Testers: Pass 47.1%N/A 52.9%
Listening sockets for Linux::Event
The `Linux::Event::Listen` module provides a streamlined way to create and manage listening sockets within a `Linux::Event` loop, enabling non-blocking network communication. It allows developers to specify a host and port or a UNIX domain socket path for listening, and it invokes a user-defined callback (`on_accept`) for each accepted connection, providing the necessary file handle for further interaction. This module is designed to handle edge-triggered notifications correctly, ensuring that the accept queue is drained efficiently while maintaining fairness through configurable limits on accepted connections per event. Recent updates have improved documentation clarity and added convenience methods for socket family identification, enhancing usability for both TCP and UNIX socket implementations.
Perl logo

CPAN-Uploader

Release | 23 Feb 2026 02:45 AM | Author: RJBS | Version: 0.103019
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 methods like `upload_file`, users can specify their CPAN credentials, upload directory, and other options such as HTTP proxy settings and retry mechanisms for failed uploads. The module also includes functionality to read configuration files, log messages, and operate in debug mode. Recent updates include a minor documentation fix in version 0.103019, ensuring that users have clear guidance on using the module effectively. Overall, CPAN::Uploader streamlines the process of contributing to CPAN, catering to both seasoned and new Perl developers.
Perl logo

Sub-Exporter-Lexical

Release | 23 Feb 2026 02:39 AM | Author: RJBS | Version: 1.001
Upvotes: 1 | CPAN Testers: Pass 100.0%
To export lexically-available subs with Sub::Exporter
Sub::Exporter::Lexical is a Perl module that enhances the Sub::Exporter functionality by providing a lexical installer, allowing for the import of subroutines into a limited scope that automatically cleans up when the scope ends. This feature is particularly useful for managing the visibility of imported routines, ensuring that they are only accessible within a specific block of code and are removed immediately after that block is executed. By using Sub::Exporter::Lexical, developers can maintain cleaner namespaces and avoid potential conflicts, making it an ideal choice for modular programming in Perl. The module is easy to integrate into both exporting and importing packages, streamlining the process of managing subroutine visibility in complex applications.
Perl logo

HTTP-Handy

Release | 23 Feb 2026 01:48 AM | Author: INA | Version: 1.00
A tiny HTTP/1.0 server for Perl 5.5.3+
HTTP::Handy is a lightweight, single-file HTTP/1.0 server designed for Perl 5.5.3 and later, ideal for personal use, local tools, and rapid development. It implements a subset of the PSGI specification, allowing developers to create simple web applications with minimal setup—just copy the file into your project directory. The server supports GET and POST methods, serves static files with MIME type detection, and includes utility functions for URL decoding and query parsing. Notably, it features an access log in LTSV format and allows configuration of the maximum POST body size. With no external dependencies, HTTP::Handy is perfect for quick prototyping and local development environments. The first release on CPAN was on February 23, 2026, marking its availability for broader use.
Perl logo

Data-Difference

Release | 23 Feb 2026 12:08 AM | Author: RJBS | Version: 0.113002
Upvotes: 3 | CPAN Testers: Pass 100.0%
Compare simple hierarchical data
Data::Difference is a Perl module designed to compare simple hierarchical data structures, such as SCALARs, HASH references, and ARRAY references, and return a detailed list of changes, including what has been added, removed, or modified. The module provides a clear output format, where each change is represented as a hash containing the hierarchical path to the value and the corresponding values from both data structures being compared. Recent updates in version 0.113002 have improved the module's handling of cyclical data structures, preventing infinite recursion, and ensured that top-level undefined values are no longer ignored, enhancing its robustness and accuracy in data comparison tasks.
Perl logo

Dist-Zilla-PluginBundle-RJBS

Release | 23 Feb 2026 12:01 AM | Author: RJBS | Version: 5.036
Upvotes: 1 | CPAN Testers: Pass 51.9%N/A 48.1%
BeLike::RJBS when you build your dists
Dist::Zilla::PluginBundle::RJBS is a comprehensive plugin bundle designed to streamline the process of building Perl distributions, reflecting the preferences of its author, RJBS. It incorporates essential plugins for managing versioning, prerequisites, metadata, and testing, while also providing customization options through roles that allow users to modify its configuration. The bundle includes features such as automatic prerequisite detection, Git integration for version control, and support for both Pod and Task Weaving, making it a versatile choice for developers looking to enhance their distribution workflow. Additionally, it offers flexibility with arguments to tailor its functionality, ensuring it meets the specific needs of various projects.
Perl logo

Crypt-NaCl-Sodium

Release | 22 Feb 2026 11:28 PM | Author: TIMLEGGE | Version: 2.002
Upvotes: 1 | CPAN Testers: Pass 100.0%
NaCl compatible modern, easy-to-use library for encryption, decryption, signatures, password hashing and more
Crypt::NaCl::Sodium is a Perl module that provides a modern, easy-to-use interface to the libsodium library, enabling secure cryptographic operations such as encryption, decryption, digital signatures, and password hashing. It supports a variety of cryptographic primitives, including secret-key authenticated encryption (XSalsa20/Poly1305), public-key encryption (Curve25519/XSalsa20/Poly1305), and hashing algorithms (Blake2b, SHA-2). The module emphasizes security and performance, offering a comprehensive set of utilities for tasks like random number generation and constant-time comparisons. Recent updates include a fix for an integer overflow flaw on 32-bit systems (CVE-2026-2588) and the removal of deprecated functions, enhancing both security and usability.
Perl logo

SPVM-Errno

Release | 22 Feb 2026 11:19 PM | Author: KIMOTO | Version: 0.096
CPAN Testers: Pass 100.0%
Error Numbers
The SPVM::Errno module provides a comprehensive interface for handling error numbers in Perl, mirroring the functionality found in the C programming language's errno system. This module allows developers to retrieve the current value of errno, set it to a specific value, and obtain descriptive error messages corresponding to various error codes. It includes static methods for accessing standard error numbers such as EAGAIN, EACCES, and many others, along with their Windows Sockets equivalents. Recent updates have improved the module's portability by changing the C language standard from GNU99 to C99, enhancing compatibility across different systems. With its robust error handling capabilities, SPVM::Errno is an essential tool for Perl developers working with system-level programming and error management.
Perl logo

SPVM-Digest-SHA

Release | 22 Feb 2026 10:55 PM | Author: KIMOTO | Version: 0.069
CPAN Testers: Pass 100.0%
SHA-1/224/256/384/512
The SPVM::Digest::SHA module provides a comprehensive implementation of SHA hashing algorithms, including SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512, along with their HMAC variants. This module allows users to generate secure hash digests in various formats such as binary, hexadecimal, and Base64, making it suitable for cryptographic applications and data integrity verification. Users can utilize both class methods for direct hashing and object-oriented methods for managing stateful digest calculations, enabling flexibility in how data is processed. With its straightforward interface, SPVM::Digest::SHA is an essential tool for developers needing robust hashing capabilities in their Perl applications.
Perl logo

SPVM-Compress-Raw-Zlib

Release | 22 Feb 2026 10:42 PM | Author: KIMOTO | Version: 0.007
CPAN Testers: Pass 100.0%
Low-Level Interface to zlib compression library
The SPVM::Compress::Raw::Zlib module provides a low-level interface to the zlib compression library, enabling Perl developers to efficiently compress and decompress data using the powerful zlib algorithms. It includes classes for both deflation and inflation processes, allowing users to easily compress data with the `gzip` method and uncompress it with the `gunzip` method, while also offering customizable options such as "AppendOutput" and "WindowBits". This module is ideal for applications that require high-performance data compression and decompression, making it a valuable tool for developers looking to optimize data handling in their Perl applications.
Perl logo

JQ-Lite

Release | 22 Feb 2026 10:22 PM | Author: SHINGO | Version: 2.40
Upvotes: 8 | CPAN Testers: Pass 97.4%N/A 2.6%
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a pure Perl module that serves as a lightweight, jq-compatible JSON query engine, ideal for environments where the jq binary cannot be installed, such as minimal Linux distributions, legacy systems, or air-gapped environments. With a familiar jq-like syntax, it allows users to extract, traverse, and filter JSON data without the need for external binaries or compilation steps. The module can be utilized as both a library and a command-line tool, offering features like optional key access, boolean filtering, and a variety of built-in functions for data manipulation. Notably, the recent version 2.40 enhances test coverage for boundary conditions in the replace() function, ensuring more robust handling of regex metacharacters and empty replacements.
Perl logo

SPVM-Resource-Libpng

Release | 22 Feb 2026 10:17 PM | Author: KIMOTO | Version: 0.014
CPAN Testers: Pass 100.0%
The Resource of The libpng Library
The SPVM::Resource::Libpng module serves as a resource class for integrating the libpng library within the SPVM (Simple Perl Virtual Machine) environment, enabling developers to leverage the capabilities of libpng for handling PNG image files. By including this module in their configuration, users can access essential functionalities related to PNG image processing, such as reading and writing PNG files, while also requiring the SPVM::Resource::Zlib module for compression support. This module facilitates the seamless incorporation of libpng's C library into SPVM applications, allowing for efficient image manipulation and processing in a Perl-like syntax.
Perl logo

SPVM-Resource-SocketUtil

Release | 22 Feb 2026 10:06 PM | Author: KIMOTO | Version: 1.005
CPAN Testers: Pass 100.0%
Resource for Socket Utilities
The SPVM::Resource::SocketUtil module provides a set of utilities for socket programming in the SPVM (Simple Perl Virtual Machine) environment, specifically designed for use with the C language adhering to the C99 standard. This module simplifies socket operations by offering functions such as retrieving socket error numbers and handling UNIX domain sockets. It requires specific libraries on Windows, namely "wsock32" and "ws2_32", and includes a header file for integration. A noteworthy recent change in version 1.005, released on February 23, 2025, improved the module's portability by changing the C language standard from GNU99 to C99. This makes SPVM::Resource::SocketUtil a valuable resource for developers looking to implement socket functionalities in their applications efficiently.
Perl logo

SPVM-Resource-Utf8proc

Release | 22 Feb 2026 09:59 PM | Author: KIMOTO | Version: 0.004
CPAN Testers: Pass 100.0%
Bundle of the utf8proc library
The SPVM::Resource::Utf8proc module serves as a resource class for integrating the utf8proc library into SPVM (Simple Perl Virtual Machine) applications, enabling efficient handling of UTF-8 encoded strings. By utilizing this module, developers can leverage the capabilities of the utf8proc library, which is designed for Unicode character processing, including normalization and composition of UTF-8 strings. The module requires specific compiler flags and provides a straightforward setup process, allowing users to include necessary header and source files seamlessly. A notable recent change in version 0.004, released on February 23, 2025, improved the module's portability by changing the C language standard from GNU99 to C99. This enhancement ensures broader compatibility across different environments, making it easier for developers to implement UTF-8 processing in their SPVM projects.
Perl logo

SPVM-Resource-Zlib

Release | 22 Feb 2026 09:39 PM | Author: KIMOTO | Version: 1.007
CPAN Testers: Pass 100.0%
Zlib Resources
The SPVM::Resource::Zlib module provides a resource interface for integrating the zlib compression library into SPVM (Simple Perl Virtual Machine) applications. This module allows developers to easily utilize zlib's functionality for data compression and decompression by configuring their SPVM projects to include the necessary zlib resources. By including the appropriate headers and source files, users can leverage zlib's capabilities directly within their SPVM code, facilitating efficient handling of compressed data formats. The module is designed for use with C99 and is compatible with zlib version 1.3.1, making it a valuable tool for developers looking to enhance their applications with robust compression features.
Perl logo

Graph-Easy-As_svg

Favorite | 22 Feb 2026 08:29 PM | Author: SHLOMIF | Version: 0.28
Upvotes: 1 | CPAN Testers: Pass 100.0%
Output a Graph::Easy as Scalable Vector Graphics (SVG)
The Perl module Graph::Easy::As_svg is designed to convert Graph::Easy objects into Scalable Vector Graphics (SVG) format, allowing for the visualization of graph structures in a vector-based format. With a straightforward interface, users can create graphs by defining edges and then easily output them as SVG files using the `as_svg_file()` method. This module is particularly useful for developers looking to integrate graphical representations of data into web applications or documents, leveraging the scalability and quality of SVG. The latest version, 0.28, released on October 20, 2020, includes fixes for outdated documentation, ensuring that users have access to accurate and helpful information.
Perl logo

Graph-Easy

Favorite | 22 Feb 2026 08:24 PM | Author: SHLOMIF | Version: 0.76
Upvotes: 11 | CPAN Testers: Pass 100.0%
Convert or render graphs (as ASCII, HTML, SVG or via Graphviz)
Graph::Easy is a versatile Perl module designed for creating and rendering graphs in various formats, including ASCII, HTML, SVG, and Graphviz. It allows users to define graphs using a simple syntax, add nodes and edges, and customize attributes such as colors and styles. The module supports both directed and undirected graphs and can handle complex layouts with features like groups and clusters. Recent updates have improved the module's robustness, including better error handling and support for multi-edges, making it easier to create intricate diagrams. With its ability to parse text descriptions and generate visual representations, Graph::Easy is an excellent tool for developers needing to visualize data structures or relationships in their applications.
Perl logo

DBD-Mock-Session-GenerateFixtures

Release | 22 Feb 2026 07:29 PM | Author: UXYZAB | Version: 1
Upvotes: 1 | CPAN Testers
This distribution generates fixtures for DBD-Mock-Session module
DBD::Mock::Session::GenerateFixtures is a Perl module designed to facilitate the generation of mock database fixtures for testing purposes using the DBD::Mock::Session framework. It allows developers to create a mocked database handle by either providing a real DBI database handle, loading data from a specified JSON fixture file, or using an array reference containing mock data. The module simplifies the process of setting up test environments by enabling the generation and retrieval of mock data, while also supporting various database operations such as transactions and method overrides for enhanced testing capabilities. This makes it an essential tool for developers looking to streamline their testing workflows with mocked database interactions.
Perl logo

Crypt-xxHash

Release | 22 Feb 2026 07:26 PM | Author: CDN | Version: 0.09
CPAN Testers: Pass 72.5%Unknown 27.5%
XxHash implementation for Perl
Crypt::xxHash is a Perl module that provides a high-performance implementation of the xxHash algorithm, known for its exceptional speed, operating close to RAM limits. This module offers various hash functions, including 32-bit and 64-bit hashes, as well as a 128-bit hex representation, all optimized through Perl XS for enhanced performance. Users can easily generate hashes from data with optional seed values, and the module supports streaming for processing large datasets efficiently. Recent updates include an upgrade to the xxHash C++ library to version 0.8.3 and the addition of 64-bit stream methods, further enhancing its capabilities. With its focus on speed and efficiency, Crypt::xxHash is an excellent choice for applications requiring fast hashing solutions.
Perl logo

Overload-FileCheck

Release | 22 Feb 2026 05:19 PM | Author: ATOOMIC | Version: 0.014
Upvotes: 5 | CPAN Testers: Pass 95.6%Fail 0.9%N/A 1.8%Unknown 1.8%
Override/mock perl file check -X: -e, -f, -d, ..
Overload::FileCheck is a Perl module designed to facilitate the mocking of file-checking operations, such as -e (exists), -f (is a file), and -d (is a directory), allowing developers to override these checks with custom logic during testing. By using functions like `mock_all_file_checks` and `mock_stat`, users can define their own behaviors for file checks, enabling more controlled and predictable testing environments without relying on actual file system states. This module is particularly useful in unit testing scenarios where the presence or absence of files can affect test outcomes. Notably, in version 0.014, a fix was implemented to prevent filehandle reference leaks, enhancing the module's stability and reliability.
Perl logo

App-MARC-Record-Stats

Release | 22 Feb 2026 03:32 PM | Author: SKIM | Version: 0.02
CPAN Testers: Pass 100.0%
Tool to work with MARC::Record::Stats on MARC dataset
The `App::MARC::Record::Stats` Perl module serves as a foundational class for creating a MARC record statistics script, enabling users to analyze and generate statistics from MARC XML files. With its straightforward interface, users can instantiate the class and execute the `run` method to process input files, returning success or error codes based on the operation's outcome. This module is particularly useful for librarians and archivists who need to assess the structure and content of MARC records, providing detailed statistics on various tags and fields within the records. It relies on several dependencies, including `MARC::File::XML` and `List::Util`, ensuring robust functionality for handling MARC data.
Perl logo

Dist-Zilla-Plugin-PPPort

Release | 22 Feb 2026 12:23 PM | Author: LEONT | Version: 0.011
Upvotes: 5 | CPAN Testers: Pass 99.0%Fail 1.0%
PPPort for Dist::Zilla
Dist::Zilla::Plugin::PPPort is a Perl module designed to integrate the PPPort functionality into your Dist::Zilla distribution process, facilitating the generation of a PPPort file, typically named "ppport.h". This module allows users to customize the filename and supports different build styles, such as MakeMaker and Module::Build. It also includes an override feature to manage existing PPPort files effectively. The latest version, 0.010, introduced a significant change by ensuring that the module no longer removes its own ppport.h file when the override attribute is set, enhancing its usability and reliability in managing PPPort files within Perl distributions.
Perl logo

MARC-Validator

Release | 22 Feb 2026 12:20 PM | Author: SKIM | Version: 0.10
CPAN Testers: Pass 100.0%
MARC validator plugins
MARC::Validator is a Perl module designed to facilitate the validation of MARC (Machine-Readable Cataloging) records through a set of plugins. By utilizing the `MARC::Validator` class, users can easily retrieve a list of available validation plugins, which can be employed to ensure the integrity and accuracy of MARC data. Recent updates in version 0.09 have introduced additional checks for the 008 field related to continuing resources and the 040a field, along with enhanced testing for missing fields and invalid leaders in specific plugins. This module is particularly useful for libraries and organizations that manage MARC records, ensuring compliance with cataloging standards.
Perl logo

Data-MARC-Validator-Report

Release | 22 Feb 2026 11:53 AM | Author: SKIM | Version: 0.02
CPAN Testers: Pass 100.0%
Data objects for MARC validator report
The `Data::MARC::Validator::Report` module serves as a data object specifically designed to encapsulate the results of a MARC (Machine-Readable Cataloging) validation process. It allows users to create a structured report that includes essential information such as the date and time of the report, as well as a collection of plugin data objects that detail specific validation errors encountered during the process. The module requires a `DateTime` object to represent the report's timestamp and can accept an array of `Data::MARC::Validator::Report::Plugin` instances, each containing relevant error information and metadata about the validation plugins used. This module is particularly useful for developers working with MARC records who need to generate comprehensive validation reports in a standardized format.
Perl logo

Travel-Status-DE-DBRIS

Release | 22 Feb 2026 09:53 AM | Author: DERF | Version: 0.24
CPAN Testers: Pass 8.0%N/A 12.5%Unknown 79.5%
Interface to bahn.de / bahnhof.de departure monitors
Travel::Status::DE::DBRIS is a Perl module that provides an unofficial interface to the bahn.de and bahnhof.de departure monitors, allowing users to retrieve real-time train departure information and related data for German train stations. It supports both blocking and non-blocking request methods, enabling users to fetch station boards, search for nearby stations, and obtain journey details asynchronously using promises. The module includes various options for customizing requests, such as caching responses and specifying modes of transit. A noteworthy recent change in version 0.24 is the increase of the default timeout to 20 seconds to accommodate delays caused by bahn.de's web application firewall, enhancing the module's reliability in fetching data.
Perl logo

App-GitKtti

Release | 22 Feb 2026 09:19 AM | Author: SAUMON | Version: v2.0.2
CPAN Testers: Pass 96.6%N/A 3.4%
Git flow helper scripts for safe branch management
App::GitKtti is a Perl module designed to enhance Git branch management by providing a suite of command-line tools that facilitate safe and efficient use of the Git flow methodology. With features such as safe branch operations, colorized output for improved readability, and support for various workflows including feature, hotfix, and release, this module streamlines the process of managing branches. Additionally, it automates branch cleanup and management, making it an essential tool for developers looking to maintain a clean and organized Git repository.
Perl logo

CPANSA-DB

Release | 22 Feb 2026 06:55 AM | Author: BRIANDFOY | Version: 20260222.001
Upvotes: 4 | CPAN Testers: Pass 91.0%N/A 9.0%
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
The CPANSA::DB module provides a Perl data structure containing the CPAN Security Advisory (CPANSA) reports, primarily intended for use with the CPAN::Audit module. By calling the `db` subroutine, users can access a hash reference of all CPANSA reports, which are crucial for auditing the security of Perl modules. Each release of the module includes a GPG signature for verification, ensuring the integrity of the data. Notably, recent updates have included data refreshes and the addition of new reports, such as the inclusion of HarfBuzz::Shaper in the January 29, 2026 update, enhancing the module's relevance in maintaining security awareness within the Perl community.
Perl logo

PDL-Opt-Simplex-Simple

Release | 22 Feb 2026 04:31 AM | Author: EWHEELER | Version: 2.007
CPAN Testers: Pass 97.9%Fail 1.1%N/A 1.1%
A simplex optimizer for the rest of us (who may not know PDL)
PDL::Opt::Simplex::Simple is a user-friendly Perl module designed for optimization tasks using the simplex algorithm, particularly aimed at users who may not be familiar with the PDL (Perl Data Language) framework. This module simplifies the optimization process by allowing users to define variables and their initial values in a straightforward hash format, while also providing the flexibility to enable or disable specific variables during optimization. It supports both single-variable and multi-vector optimization, making it versatile for various applications, such as antenna geometry optimization and PID controller tuning. Recent updates have improved the handling of variable clamping during optimization and introduced parallel processing capabilities, enhancing performance for complex calculations. This module is particularly useful for those looking to minimize a function's output efficiently without delving deeply into the complexities of PDL.