CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 21 December 2025 04:30 AM
Perl logo

Env-Assert

Release | 21 Dec 2025 12:55 AM | Author: MIKKOI | Version: 0.015
Upvotes: 4 | CPAN Testers
Ensure that the environment variables match what is requested, or abort. Module and executable
Env::Assert is a Perl module designed to ensure that your environment variables meet specified criteria, aborting execution if they do not. By utilizing an environment description file or inline definitions, developers can assert conditions for variables, such as format and presence, enhancing the reliability of their applications. With a simple interface, Env::Assert allows for easy integration into Perl scripts, making it an essential tool for managing environment variables effectively. This module is actively developed, with a focus on maintaining a straightforward API, and it has no external dependencies beyond Perl's standard distribution.
Perl logo

Sidef

Release | 21 Dec 2025 12:33 AM | Author: TRIZEN | Version: 25.12
Upvotes: 8 | CPAN Testers
The Sidef Programming Language
Sidef is a modern, high-level programming language designed for general-purpose use, drawing inspiration from Ruby, Raku, and Go. It supports a variety of programming paradigms, including object-oriented and functional programming, and features such as functional pattern matching, optional lazy evaluation, and multiple dispatch. Sidef allows for lexical scoping and closures, keyword arguments, and robust support for regular expressions, while also enabling the use of Perl modules. With capabilities for dynamic type checking and handling of complex numerical types, Sidef provides a versatile environment for developers. The module offers methods for creating Sidef objects, parsing and executing Sidef code, optimizing abstract syntax trees (ASTs), and compiling code into both Sidef and Perl formats, making it a powerful tool for those looking to explore or utilize this innovative language.
Perl logo

Finance-Currency-Convert

Release | 21 Dec 2025 12:33 AM | Author: JANW | Version: 2.08
Convert currencies and fetch their exchange rates
The `Finance::Currency::Convert` Perl module provides a robust solution for converting currencies and fetching their exchange rates, particularly focusing on Euro currencies with built-in fixed rates. Users can easily convert amounts between different currencies, including converting to and from Euros, and can update exchange rates by fetching data from the internet using the Finance::Quote module. This module is particularly useful for handling large volumes of currency data efficiently, as it allows for the storage of exchange rates in a file for quick access, minimizing network overhead. Recent updates in version 2.06 have improved error handling and testing capabilities, ensuring a smoother user experience even when the Finance::Quote module is unavailable.
Perl logo

WordListBundle-ID-ByCategory

Release | 21 Dec 2025 12:06 AM | Author: PERLANCAR | Version: 0.001
Collection of Indonesian words of various categories
The Perl module WordListBundle::ID::ByCategory provides a comprehensive collection of Indonesian words organized into various categories, including animals, birds, flowers, food, fruits, insects, musical instruments, vegetables, and water animals. This module is particularly useful for developers and educators looking to create flashcards or enhance word-guessing games with a rich vocabulary. Released on January 14, 2025, this is the inaugural version of the module, marking its introduction to the Perl community. For more information, you can visit its homepage on MetaCPAN or access the source repository on GitHub.
Perl logo

WordListBundle-EN-ByCategory

Release | 21 Dec 2025 12:05 AM | Author: PERLANCAR | Version: 0.001
Collection of English words of various categories
The WordListBundle::EN::ByCategory module is a comprehensive collection of English words organized into various categories, including animals, birds, flowers, food, fruits, insects, musical instruments, vegetables, and water animals. Released as version 0.001 on January 14, 2025, this module is particularly useful for developers and educators looking to create engaging flashcards or enhance word guessing games by providing categorized vocabulary. With its structured approach to word organization, it facilitates easy access to themed word lists, making it an invaluable resource for language learning and educational applications.
Perl logo

Unicode-UTF8

Release | 20 Dec 2025 11:37 PM | Author: CHANSEN | Version: 0.63
Upvotes: 20 | CPAN Testers
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 representations. Both functions include customizable error-handling mechanisms through optional fallback code references, allowing developers to manage ill-formed sequences and non-representable code points effectively. Additionally, the module features a `valid_utf8` function to verify the integrity of UTF-8 sequences. Recent updates in version 0.63, released on December 21, 2025, include the removal of non-portable tests for Perl's "super" code points, streamlining the module's functionality and enhancing its usability.
Perl logo

Business-Barcode-EAN13

Release | 20 Dec 2025 10:48 PM | Author: JANW | Version: 2.12
Upvotes: 1 | CPAN Testers
Perform simple validation of an EAN-13 barcode
The Business::Barcode::EAN13 Perl module provides essential functionality for validating and working with EAN-13 barcodes. It includes subroutines to check the validity of a barcode, calculate the correct check digit from a 12-digit stem, and identify the country of the barcode issuer using ISO country codes. Additionally, the module offers a method to select the "most preferred" barcode from a list based on specified preferences, making it particularly useful for applications that handle multiple international barcodes. This module is ideal for developers needing to ensure barcode integrity and manage product identification across different regions.
Perl logo

Module-CoreList

Release | 20 Dec 2025 09:00 PM | Author: BINGOS | Version: 5.20251220
Upvotes: 44 | CPAN Testers
What modules shipped with versions of perl
Module::CoreList is a Perl module that provides comprehensive information about the core and dual-life modules included with various versions of Perl. It allows developers to query details such as the first release of a module, its version in specific Perl releases, and whether a module is part of the core distribution. The module features a command-line utility called `corelist` for easy access to this information, as well as a functional programming API for programmatic queries. Recent updates have included enhancements for compatibility with newer Perl versions, with the latest version (5.20251220) reflecting updates for Perl v5.43.6, ensuring that users have access to the most current module data.
Perl logo

CPAN-Perl-Releases

Release | 20 Dec 2025 09:00 PM | Author: BINGOS | Version: 5.20251220
Upvotes: 3 | CPAN Testers
Mapping Perl releases on CPAN to the location of the tarballs
The CPAN::Perl::Releases module provides a straightforward way to map Perl releases available on CPAN to their corresponding tarball locations. By utilizing the `perl_tarballs` function, users can input a specific Perl version and receive a hash reference containing the paths to the gzipped and bzip2-compressed tar files, facilitating easy access to the source code for various Perl versions. This module also includes functions to retrieve a list of all supported Perl versions and the PAUSE IDs of Perl pumpkins, making it a valuable resource for developers and maintainers working with Perl distributions.
Perl logo

Sub-Throttler

Favorite | 20 Dec 2025 07:10 PM | Author: POWERMAN | Version: v0.2.10
Upvotes: 2 | CPAN Testers: Pass 100.0%
Rate limit sync and async function calls
Sub::Throttler is a powerful Perl module designed to manage and limit the rate of synchronous and asynchronous function calls, making it ideal for applications that need to control resource usage, such as API requests or concurrent tasks. By utilizing various throttling algorithms, such as Sub::Throttler::Limit for concurrent task limits and Sub::Throttler::Rate::AnyEvent for rate-based limits, developers can easily configure how many resources each function requires and apply these limits dynamically. The module supports both normal and high-priority queues for delayed function execution, allowing for flexible handling of tasks based on their urgency. Recent updates in version v0.2.10 include documentation reformatting and fixes to fragile tests, ensuring improved reliability and clarity for users.
Perl logo

Image-ThumbHash

Release | 20 Dec 2025 05:26 PM | Author: MAUKE | Version: 0.04
CPAN Testers: Pass 95.3%Fail 2.4%N/A 2.4%
A very compact representation of an image placeholder
The Image::ThumbHash Perl module provides a compact representation of image placeholders using the ThumbHash algorithm, originally developed by Evan Wallace. This module allows developers to efficiently generate small byte strings, known as thumb hashes, from images, which can then be used to create lossy approximations of the original images. This is particularly useful for enhancing the loading speed of image galleries on the web, as these thumb hashes can be embedded directly in HTML or converted to PNGs on the client side. The module offers a variety of functions for converting images to and from thumb hashes, as well as extracting average colors and aspect ratios, making it a versatile tool for web developers looking to optimize image loading times.
Perl logo

App-nup

Release | 20 Dec 2025 03:08 PM | Author: UTASHIRO | Version: 0.99
CPAN Testers: Pass 88.9%N/A 11.1%
N-up output wrapper for optex -Mup
The `nup` Perl module serves as a convenient wrapper for the `optex -Mup` command, allowing users to easily format and view files or execute commands with N-up output. It intelligently detects whether the first argument is a file or a command, switching modes accordingly, while also providing options for customizing the output layout, such as setting the number of columns and rows, adjusting pane width, and choosing border and line styles. Notably, the initial release of version 0.99 introduced features like fold mode for continuous output without pagination and parallel view mode for displaying multiple files side by side. This module is particularly useful for users looking to enhance their command-line experience with organized and visually appealing output.
Perl logo

File-URIList

Release | 20 Dec 2025 03:02 PM | Author: LION | Version: v0.04
CPAN Testers: Pass 74.6%Fail 13.1%N/A 12.3%
Module for reading and writing RFC 2483 URI lists
File::URIList is a Perl module designed for reading and writing URI lists in accordance with RFC 2483. It provides a robust interface for managing URI lists, allowing users to create new instances, read from and write to files, and handle various URI formatting options such as blank lines and extra spaces. The module supports multiple methods for reading URIs, including callbacks and returning lists, and offers flexibility in handling URIs with no scheme or local file paths. Recent updates in version 0.04 have introduced support for Data::Identifier::Interface::Simple and enhanced inheritance from Data::Identifier::Interface::Subobjects, further expanding its capabilities. This module is particularly useful for applications that require structured management of URI data, such as media playlists or web resource lists.
Perl logo

User-Information

Release | 20 Dec 2025 02:45 PM | Author: LION | Version: v0.05
CPAN Testers: Pass 83.3%N/A 16.7%
Module for fetching information on users
The User::Information Perl module provides a versatile interface for extracting user account information, making it particularly useful for applications that require user data management. With methods like `lookup`, `me`, `cgi`, and `local_node`, developers can easily retrieve information about the current user, a specific user based on various criteria, or the local system node. This module supports different lookup types, allowing for flexible data retrieval based on the context, whether in a CGI environment or not. The latest version, v0.05, includes a fix to the documentation, ensuring clarity and accuracy for users. Overall, User::Information is an essential tool for developers looking to streamline user data handling in their Perl applications.
Perl logo

String-Super

Release | 20 Dec 2025 02:38 PM | Author: LION | Version: v0.02
CPAN Testers: Pass 89.6%N/A 10.4%
Compactor for superstrings
String::Super is a Perl module designed to efficiently compute the smallest superstring that encompasses a set of input strings, which can be particularly useful in applications such as executable size optimization, compression algorithms, and string analysis. By allowing users to add binary blobs or UTF-8 encoded strings, the module balances computational complexity with the size of the resulting superstring. The workflow involves creating an instance of String::Super, adding the desired strings, and invoking the compact method to generate the superstring, after which users can retrieve both the superstring and the offsets of the original strings within it. This module is robust and binary-safe, making it suitable for a variety of string manipulation tasks.
Perl logo

Business-ISBN-Data

Release | 20 Dec 2025 11:35 AM | Author: BRIANDFOY | Version: 20251219.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
The `Business::ISBN::Data` module serves as a data pack for the `Business::ISBN` module, providing essential data structures derived from the RangeMessage.xml file supplied by the ISBN Agency. Typically, users do not need to load this module directly, as it is automatically loaded by `Business::ISBN`, which requires version 3.005 or later due to changes in the data structure. The module allows for flexibility in data sourcing by enabling users to specify an alternate location for the RangeMessage.xml file through the `ISBN_RANGE_MESSAGE` environment variable, ensuring access to the most current or historical data without needing to update the module itself. If the specified data file is unavailable, it defaults to older data included in the module. The data is organized in the `%Business::ISBN::country_data` hash, which provides insights into the source of the data. This module is particularly useful for developers working with ISBNs, as it streamlines the process of managing and updating ISBN-related data.
Perl logo

App-optex-up

Release | 20 Dec 2025 09:58 AM | Author: UTASHIRO | Version: 1.01
CPAN Testers: Pass 90.0%Fail 4.3%N/A 5.7%
Optex module for multi-column paged output
The `up` module is an extension for the `optex` command that facilitates multi-column paged output by utilizing the `App::ansicolumn` module for formatting. Named after the printing term "n-up," it allows users to display command output in a grid layout, automatically calculating the number of columns based on terminal width and providing options for customizing pane width, row count, and border styles. The module supports various configurations, including the ability to set a custom pager or disable pagination altogether, making it ideal for efficiently viewing large outputs in a structured format. With its flexible options, `up` enhances the readability of command-line output, making it a valuable tool for Perl users seeking organized data presentation.
Perl logo

List-Gen

Release | 20 Dec 2025 09:28 AM | Author: SOMMREY | Version: 0.977
Upvotes: 24 | CPAN Testers: Pass 100.0%
Provides functions for generating lists
List::Gen is a powerful Perl module designed for generating and manipulating lists through a variety of higher-order functions, list comprehensions, and lazy evaluation techniques. With features such as generators, iterators, and utility functions, it allows users to create and traverse lists efficiently, including the ability to generate values on demand and perform operations like mapping, filtering, and zipping. The module supports both finite and infinite lists, enabling complex sequences like Fibonacci numbers or factorials to be generated lazily. Recent updates in version 0.977 include improvements to unit tests and optimizations for lazy evaluation, ensuring better performance and reliability. This module is particularly useful for developers looking to streamline list processing in their Perl applications.
Perl logo

App-ansicolumn

Release | 20 Dec 2025 08:30 AM | Author: UTASHIRO | Version: 1.47
Upvotes: 1 | CPAN Testers: Pass 94.0%N/A 6.0%
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, which are often used for text styling in terminal applications. This module is particularly useful for developers who need to present data in a visually organized manner, ensuring that the presence of color and style codes does not disrupt the alignment of columns. With `ansicolumn`, users can easily create well-structured command-line outputs that enhance readability and maintain aesthetic appeal, making it an essential tool for any Perl script that requires formatted terminal output.
Perl logo

WWW-AdventCalendar

Release | 20 Dec 2025 07:49 AM | Author: RJBS | Version: 1.114
Upvotes: 1 | CPAN Testers: Pass 100.0%
A calendar for a month of articles (on the web)
The `WWW::AdventCalendar` Perl module is designed to facilitate the creation of Advent calendar websites, allowing users to publish a series of articles over a specified month. It generates a countdown page, a calendar page, individual article pages for each day, and an Atom feed. Originally tailored for the Perl Advent Calendar, it has been updated to support arbitrary date ranges within a month, although this feature is still in the testing phase. Users can easily configure the calendar through an `advent.ini` file, write articles in a simple format, and automate the calendar's daily updates using the `adval` command. Notably, in the recent version 1.114, the module's design was made responsive for better mobile usability, addressing previous layout issues.
Perl logo

Travel-Status-DE-IRIS

Release | 20 Dec 2025 04:53 AM | Author: DERF | Version: 2.01
CPAN Testers: Pass 100.0%
Interface to IRIS based web departure monitors
The `Travel::Status::DE::IRIS` Perl module provides an interface to IRIS-based web departure monitors, allowing users to retrieve real-time train departure information for specific stations in Germany. It supports both blocking and experimental non-blocking variants, enabling developers to easily integrate train status updates into their applications. Users can specify various options such as the station code, time lookahead, and caching mechanisms to customize their queries. Notably, as of May 2024, the backend service this module relies on is deprecated, and users are encouraged to transition to the `Travel::Status::DE::DBRIS` module, which offers similar functionality. The latest version, 2.01, includes updates to delay and quality of service codes, reflecting ongoing maintenance despite the deprecation notice.
Perl logo

Meow

Release | 20 Dec 2025 02:43 AM | Author: LNATION | Version: 0.16
CPAN Testers: Pass 100.0%
Object ฅ^•ﻌ•^ฅ Orientation
Meow is an experimental Perl module designed to provide a fast and minimalist object-oriented system using XS, enabling developers to define read-write and read-only attributes with various specifications such as type, default values, coercion, triggers, and builders. It supports multiple inheritance through the "extends" keyword and offers a Perl-style constructor for object creation. Although still in development, Meow aims to streamline object-oriented programming in Perl by simplifying attribute management and enhancing performance, making it a compelling choice for those looking to implement lightweight object systems.
Perl logo

Mouse

Release | 20 Dec 2025 02:21 AM | Author: SKAJI | Version: v2.6.1
Upvotes: 63 | CPAN Testers: Pass 88.1%Fail 6.3%N/A 1.6%Unknown 4.0%
Moose minus the antlers
Mouse is a lightweight object system for Perl that provides a subset of Moose's functionality, designed to minimize compile-time overhead while maintaining compatibility with Moose. It is particularly useful for applications where startup time is critical, such as command-line tools and CGI scripts. Mouse allows developers to define classes and attributes with a syntax similar to Moose, including features like method modifiers and type constraints, but with significantly faster performance. The latest version, v2.6.1, includes an update that provides an empty import on Mouse::Deprecated for imported Moose tests, enhancing compatibility and usability for developers transitioning between the two systems.
Perl logo

App-Greple-xlate

Release | 20 Dec 2025 12:42 AM | Author: UTASHIRO | Version: 0.9924
CPAN Testers: Pass 56.8%Fail 6.8%N/A 36.4%
Translation support module for greple
The App::Greple::xlate module is a powerful translation support tool designed for use with the greple command-line utility, enabling users to find and replace text blocks in Perl's POD format with translated content. It integrates with various translation engines, including DeepL and OpenAI's GPT models, allowing for flexible translation options based on user-defined patterns. Users can specify which sections of text to translate, manage exclusions through masking, and choose from multiple output formats, including conflict markers compatible with Git. The module also supports caching for efficient repeated translations and can be utilized in a Docker environment, making it a versatile solution for developers needing to localize documentation or code comments efficiently.
Perl logo

Thread-Subs

Favorite | 20 Dec 2025 12:16 AM | Author: TFBW | Version: 1.000
Upvotes: 1 | CPAN Testers: Pass 66.7%Fail 33.3%
Execute selected subs concurrently in worker threads
Thread::Subs is a Perl module designed to simplify the execution of subroutines concurrently in worker threads, allowing developers to leverage parallelism with minimal cognitive overhead. By marking a subroutine with the "Thread" attribute, users can call it as usual, receiving a lightweight result object that represents the asynchronous execution of the subroutine in a separate thread. This module manages the creation and termination of worker threads, enforces concurrency limits, and provides an interface for handling results, making it particularly useful for CPU-intensive tasks or scenarios where resource pooling is necessary, such as database interactions. The recent initial release in December 2025 marks the module's debut, providing a high-level abstraction for threading in Perl applications.
Perl logo

sealed

Favorite | 19 Dec 2025 08:54 PM | Author: JOESUF | Version: v8.5.1
Upvotes: 2 | CPAN Testers: Pass 36.8%N/A 63.2%
Subroutine attribute for compile-time method lookups on its typed lexicals
The `sealed` Perl module provides a subroutine attribute that enables compile-time method lookups for typed lexicals, enhancing performance in specific scenarios. By using `sealed`, developers can optimize method calls in their applications, particularly when working with typed lexicals in subroutines. The module offers various import options for debugging and verification, allowing users to tailor its behavior to their needs. Notably, as of version 8.5.0, the module automatically activates the Perl Type System, streamlining its integration. However, it is essential to note that `sealed` is best suited for end applications rather than reusable OO modules, as the overhead of its op-tree processing can negate performance benefits in nontrivial methods implemented in pure Perl.
Perl logo

Perl-Types

Favorite | 19 Dec 2025 06:44 PM | Author: WBRASWELL | Version: 0.400
Upvotes: 2 | CPAN Testers
The Perl data type system
Perl::Types is a Perl module that introduces a robust data type system, allowing developers to explicitly define and manage core data types and nested compound reference types using the "::" scope resolution operator. This module enhances code clarity and type safety by enabling the declaration of typed scalars, arrays, and hashes, which can lead to better optimization by the Perl compiler. With various usage styles available—pragma, class, or object-oriented—Perl::Types caters to different coding preferences while ensuring consistency across a codebase. Currently in beta, it is stable enough for use in production environments, distinguishing itself from type constraint libraries by directly accessing underlying data types rather than relying on subjective interpretations of data values.
Perl logo

Util-H2O-More

Release | 19 Dec 2025 04:09 PM | Author: OODLER | Version: 0.4.3
Upvotes: 4 | CPAN Testers: Pass 100.0%
Convenience utilities built on Util::H2O (baptise, d2o, INI/YAML/HTTP helpers, Getopt helpers)
Util::H2O::More is a Perl module that enhances the Util::H2O framework by providing a suite of convenience utilities aimed at simplifying object-oriented programming in Perl. It introduces several helpful features, including the "baptise" method, which acts as a constructor helper that not only blesses a hash reference but also creates accessors for specified keys, making it easier to manage data structures. The module also includes tools for objectifying and de-objectifying nested data structures, configuration file handling (supporting INI and YAML formats), command-line option parsing, and HTTP response handling with JSON decoding capabilities. Recent updates have added support for the "-autoundef" option in the Getopt2h2o method, allowing for more flexible handling of command-line options, and enhancements to the HTTPTiny2h2o method to better manage HTTP responses. This module is particularly useful for developers looking to streamline their Perl code by reducing syntactic clutter associated with hash and array dereferencing.
Perl logo

Net-Clacks

Release | 19 Dec 2025 02:05 PM | Author: CAVAC | Version: 33
Upvotes: 1 | CPAN Testers
Fast client/server interprocess messaging and memcached replacement
Net::Clacks is a Perl module designed for efficient interprocess messaging and serves as a replacement for memcached, enabling fast client/server communication. It supports a master/slave server configuration, allowing multiple servers to handle a high volume of clients, and can be structured in a tree-like hierarchy for scalability. The module offers two primary functionalities: real-time messaging and in-memory data storage. Additionally, it includes a DEBUG feature for message forwarding to clients. Recent updates have introduced multi-user support with varying permissions and enhanced the handling of external event loops, making it more versatile for developers. This module requires Perl version 5.36.0 or higher.
Perl logo

NetAddr-MAC

Release | 19 Dec 2025 01:23 PM | Author: DJZORT | Version: 0.99
Upvotes: 1 | CPAN Testers: Pass 100.0%
MAC hardware address functions and object (EUI48 and EUI64)
The `NetAddr::MAC` Perl module provides a comprehensive object-oriented and functional interface for handling Media Access Control (MAC) addresses, supporting both EUI48 and EUI64 formats. It allows users to create MAC address objects, validate their types (unicast, multicast, broadcast, etc.), and convert them into various standardized formats such as IEEE, Cisco, and Microsoft. With methods for generating random MAC addresses and checking properties like local versus universal administration, this module is particularly useful for network programming and device identification across different layer 2 networks. Notably, version 0.99 introduced functions for Virtual Router Redundancy Protocol (VRRP) addresses, enhancing its utility for network management tasks.