Recent Perl modules, releases and favorites.
Last updated 22 November 2025 08:30 PM
Last updated 22 November 2025 08:30 PM
Net-Amazon-S3
Release | 22 Nov 2025 11:41 AM | Author: BARNEY | Version: 0.992
Upvotes: 13 | CPAN Testers
Use the Amazon S3 - Simple Storage Service
The `Net::Amazon::S3` Perl module provides a user-friendly interface for interacting with Amazon's Simple Storage Service (S3), enabling developers to easily store and retrieve data in a scalable and reliable manner. With this module, users can create and manage buckets, upload and download files, and perform various operations such as listing contents and deleting objects. It supports multiple authorization methods, including basic and IAM roles, and offers features like automatic retries for failed requests. Designed for developers looking to leverage Amazon's robust storage infrastructure, `Net::Amazon::S3` simplifies the integration of S3 capabilities into Perl applications, making it an essential tool for cloud-based data management.
SimpleFlow
Release | 22 Nov 2025 01:15 AM | Author: DCON | Version: 0.03
Easy, simple workflow manager (and logger)
SimpleFlow is a straightforward workflow manager and logger designed for Perl, offering functionality akin to tools like snakeMake or NextFlow. It allows users to define tasks with minimal setup, primarily requiring a command to execute, while also supporting additional options such as error handling, input/output file checks, logging, and notes for better tracking. The module returns a comprehensive hash containing essential information about each task's execution, including the exit code, working directory, standard error, and standard output. This makes SimpleFlow an ideal choice for developers looking to manage and log workflows efficiently within Perl scripts.
Char-Replace
Release | 21 Nov 2025 11:08 PM | Author: ATOOMIC | Version: 0.006
CPAN Testers: Pass 100.0%
Perl naive XS character replacement as an alternate to substitute or transliterate
The Char::Replace Perl module provides efficient character replacement and trimming functionalities using XS (eXternal Subroutine) for enhanced performance. It allows users to create a mapping of ASCII characters to their replacements, enabling the transformation of strings by replacing specified characters with designated strings. Additionally, it includes a trimming function that removes leading and trailing whitespace characters from strings, preserving the UTF-8 state. With its identity map helper for easy initialization and high-speed performance benchmarks, Char::Replace is an excellent choice for developers needing fast and flexible string manipulation capabilities in their Perl applications.
Sub-HandlesVia
Release | 21 Nov 2025 09:14 AM | Author: TOBYINK | Version: 0.052000
Alternative handles_via implementation
Sub::HandlesVia is a Perl module designed to provide an alternative implementation of the handles_via feature commonly found in object-oriented frameworks like Moo, Moose, and Mouse. It allows developers to delegate method calls to underlying data structures, such as arrays or hashes, enhancing the encapsulation and usability of object attributes. By using Sub::HandlesVia, you can easily define custom methods that manipulate these data structures without exposing their internal workings, making your code cleaner and more maintainable. This module is versatile and compatible with various object-oriented toolkits, ensuring a seamless integration into your Perl applications.
Time-HiRes
Favorite | 21 Nov 2025 04:06 AM | Author: ATOOMIC | Version: 1.9764
Upvotes: 65 | CPAN Testers: Pass 100.0%
High resolution alarm, sleep, gettimeofday, interval timers
The Time::HiRes module provides a Perl interface for high-resolution time and timer functions, enabling precise control over sleep intervals, alarms, and time measurements. It includes functions such as `usleep`, `nanosleep`, `ualarm`, and `gettimeofday`, allowing developers to perform operations with microsecond and nanosecond accuracy. The module also offers capabilities for measuring elapsed time with `tv_interval`, setting interval timers with `setitimer`, and accessing high-resolution clocks through `clock_gettime` and `clock_getres`. While it enhances timing precision in Perl applications, users should be aware of potential limitations related to system-specific implementations and the inherent imprecision of timers in non-real-time environments.
Task-MemManager
Release | 21 Nov 2025 01:53 AM | Author: CHRISARG | Version: 0.10
Upvotes: 4 | CPAN Testers: Pass 100.0%
A memory allocator for low level code in Perl
Task::MemManager is a Perl module designed for low-level memory allocation and management, providing a robust framework for handling memory buffers. It allows developers to create and manipulate memory regions using various allocators, including a default Perl-based allocator. The module supports features such as delayed garbage collection, buffer extraction, and the ability to consume external buffers, making it versatile for performance-critical applications. Recent updates in version 0.10 addressed a bug in the DESTROY method that previously failed to delete memory region tracking, which could lead to inaccuracies in detecting overlapping memory regions. This enhancement, along with expanded documentation and improved error handling, solidifies Task::MemManager as a reliable tool for managing memory in Perl applications.
OpenTelemetry-Instrumentation-namespace
Release | 20 Nov 2025 10:51 PM | Author: JJATRIA | Version: 0.033
OpenTelemetry instrumentation for a namespace
The `OpenTelemetry::Instrumentation::namespace` module provides a flexible and experimental framework for automatically instrumenting existing Perl codebases with OpenTelemetry, allowing developers to monitor and trace their applications without modifying the original code. By utilizing a configuration file or inline rules, users can specify which packages and subroutines to instrument, including options to ignore certain types of subroutines or prioritize existing instrumentation libraries. This module simplifies the process of selectively instrumenting large codebases, making it easier to gather telemetry data while maintaining the integrity of the original code. It also hooks into the module loading process to apply the defined rules dynamically, ensuring that new packages are instrumented according to the specified criteria.
OpenTelemetry
Release | 20 Nov 2025 10:39 PM | Author: JJATRIA | Version: 0.032
Upvotes: 4 | CPAN Testers: Pass 100.0%
A Perl implementation of the OpenTelemetry standard
The OpenTelemetry Perl module provides a comprehensive implementation of the OpenTelemetry standard, enabling developers to instrument their applications for performance monitoring and operational insights. By offering a backend-agnostic API, this module allows users to create and manage traces and spans, facilitating the collection of telemetry data without requiring a specific SDK. It features a flexible interface for accessing global components such as logger and tracer providers, as well as error handling mechanisms. With functions that can be used as class methods or imported for functional use, OpenTelemetry simplifies the integration of observability into Perl applications, making it easier to track and analyze application behavior.
Tiny, yet Moo(se)-compatible type constraint
Type::Tiny is a lightweight Perl module designed for creating type constraints that are compatible with Moo, Moose, and Mouse, allowing developers to enforce data types in their object-oriented code. It provides a flexible and efficient way to define custom types, validate data, and manage coercions, all while maintaining a simple interface. With features like inline checks, parameterized types, and support for various type libraries, Type::Tiny aims to reduce the need for multiple type constraint implementations across different object systems. Notably, the recent version 2.008005 introduced minor optimizations to the Type::Params functionality, enhancing performance by eliminating unnecessary checks during function calls. This module is ideal for developers looking to implement robust type checking in their Perl applications without the overhead of larger frameworks.
Algorithm-Diff
Favorite | 20 Nov 2025 09:27 PM | Author: RJBS | Version: 1.201
Upvotes: 24 | CPAN Testers: Pass 100.0%
Compute `intelligent' differences between two files / lists
The `Algorithm::Diff` Perl module provides a robust solution for computing intelligent differences between two sequences, such as files or lists. Utilizing the longest common subsequence (LCS) algorithm, it efficiently identifies the minimal set of additions and deletions required to transform one sequence into another. The module offers both an object-oriented interface and several exportable functions, allowing users to generate traditional diff outputs, side-by-side comparisons, and compact difference descriptions. Recent updates have improved performance, particularly when no key generation function is provided, enhancing the module's efficiency in handling large datasets. This makes `Algorithm::Diff` an essential tool for developers needing to compare and analyze variations in data sequences.
Ufal-UDPipe
Release | 20 Nov 2025 07:30 PM | Author: STRAKA | Version: v1.4.0.1
Bindings to UDPipe library
Ufal::UDPipe is a Perl module that provides bindings to the UDPipe library, enabling users to perform natural language processing tasks such as tokenization, tagging, and parsing of text. This module allows for the loading of pre-trained models and the processing of sentences in various formats, including CoNLL-U, through a straightforward API that mirrors the original C++ bindings. Users can create tokenizers, manage sentence structures, and output results in different formats, making it a versatile tool for linguistic analysis. Notably, the recent update to version 1.4.0 on November 25, 2020, enhances the module by incorporating improvements from the latest UDPipe library, ensuring better performance and functionality.
Software-License
Favorite | 20 Nov 2025 03:56 PM | Author: LEONT | Version: 0.104007
Packages that provide templated software licenses
The `Software::License` Perl module provides a structured way to manage and generate templated software licenses, making it easier for developers to include licensing information in their projects. By creating license objects for various license types, users can easily retrieve the full text of the license, copyright notices, and other relevant metadata. The module supports a variety of licenses, including popular ones like GPL, MIT, and Apache, and allows customization through parameters such as the copyright holder and year. A noteworthy recent change in version 0.104007 includes an update to the GPL v1 text to reflect the current version, enhancing the module's accuracy and compliance with licensing standards.
Aion-Annotation
Release | 20 Nov 2025 02:41 PM | Author: DART | Version: 0.0.2
Processes annotations in perl modules
Aion::Annotation is a Perl module designed to facilitate the processing of annotations within Perl modules by scanning the codebase and extracting relevant comments and metadata. It organizes this information into structured files located in a specified directory, allowing developers to easily manage and review annotations related to their code. The module supports configuration options to customize the directories for both the codebase and the output files. Recent updates include the addition of support for unsupported operating systems, enhancing its compatibility and usability across different environments.
Crypt-xxHash
Release | 20 Nov 2025 01:14 PM | Author: CDN | Version: 0.08
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 using functions like xxhash32, xxhash64, and xxhash3, with options to return results in hexadecimal format. Designed as an improvement over the Digest::xxHash module, Crypt::xxHash leverages fresh C code and native 64-bit digits, making it significantly faster in benchmarks. This module is ideal for developers needing efficient hashing solutions in their Perl applications.
App-SpreadRevolutionaryDate
Release | 20 Nov 2025 11:15 AM | Author: GIBUS | Version: 0.52
Spread date and time from Revolutionary (Republican) Calendar on Bluesky, Twitter, Mastodon, Freenode and Liberachat
App::SpreadRevolutionaryDate is a Perl module designed to facilitate the dissemination of dates and times from the Revolutionary (Republican) Calendar across various social platforms, including Bluesky, Twitter, Mastodon, Freenode, and Liberachat. With a straightforward constructor that allows for optional configuration file input, this module initializes an object that manages authentication and communication with the specified targets. The core functionality is encapsulated in the `spread` method, which broadcasts the calendar date to all configured platforms, making it a useful tool for users interested in sharing historical or culturally significant dates in a modern digital context.
Utilities for the file system: reading, writing, searching, replacing files, etc
The Aion::Fs Perl module provides a straightforward and efficient set of utilities for file system operations, including reading, writing, searching, and replacing files. Designed with simplicity in mind, it adheres to the KISS (Keep It Simple, Stupid) principle, making it accessible for users who may find other modules like File::Path or File::Find overly complex. Aion::Fs supports functional programming paradigms and offers a variety of functions such as `cat` for reading files, `lay` for writing content, and `find` for recursively searching directories with customizable filters. It also includes features for handling file modifications, error management, and path manipulations, making it a versatile tool for developers looking to streamline their file system interactions in Perl.
Compiler from Markdown to tests and documentation
Liveman is a Perl module designed to streamline the process of compiling Markdown documentation into test scripts and associated documentation files, thereby ensuring that examples in the documentation remain accurate and up-to-date with the code. With Liveman, users can transform Markdown files located in the "lib" directory into test files in the "t" directory, while also embedding documentation into the corresponding Perl module files. The module supports various testing formats and allows for language translation within the documentation, making it a versatile tool for maintaining project documentation and testing integrity. Additionally, Liveman can generate coverage reports and manage versioning directly from the Markdown files, enhancing the overall development workflow.
Module-CoreList
Release | 20 Nov 2025 09:04 AM | Author: BINGOS | Version: 5.20251120
Upvotes: 44 | CPAN Testers
What modules shipped with versions of perl
Module::CoreList is a Perl module that provides comprehensive information about which core and dual-life modules are included with various versions of Perl. It offers a functional programming API that allows developers to query details such as the first release of a module, its status as a core module, and changes between different Perl versions. The module also includes a command-line utility called `corelist` for convenient access to this information. Recent updates have ensured compatibility with the latest Perl versions, including the latest update for v5.43.5, enhancing its utility for developers working with the most current Perl distributions.
CPAN-Perl-Releases
Release | 20 Nov 2025 09:04 AM | Author: BINGOS | Version: 5.20251120
Upvotes: 3 | CPAN Testers
Mapping Perl releases on CPAN to the location of the tarballs
The CPAN::Perl::Releases module provides a mapping of Perl releases available on CPAN to their respective tarball locations, facilitating easy access to different versions of Perl. By using the `perl_tarballs` function, users can retrieve a hash reference containing the paths to various tarball formats (such as `.tar.gz`, `.tar.bz2`, and `.tar.xz`) for a specified Perl version. This module is particularly useful for developers and maintainers who need to track or download specific Perl releases. The latest update, version 5.20251120, includes mappings for Perl version 5.43.5, ensuring that users have access to the most current release information.
Sereal-Encoder
Favorite | 20 Nov 2025 07:37 AM | Author: YVES | Version: 5.004
Fast, compact, powerful binary serialization
The `Sereal::Encoder` module provides a fast and efficient binary serialization mechanism for Perl data structures using the Sereal protocol. It allows developers to encode complex data into a compact binary format, which can be easily decoded by its counterpart, `Sereal::Decoder`. The module supports various options for customization, including compression techniques (Snappy, Zlib, and Zstd), handling of blessed references, and the ability to produce canonical output for consistent serialization of equivalent structures. Recent updates in version 5.004 include important fixes for the thaw ordering of frozen objects, enhancing the reliability of the serialization process. This module is particularly useful for applications requiring high-performance data interchange or storage, making it a valuable tool for Perl developers.
Tie-Hash-MultiValueOpts
Release | 20 Nov 2025 07:23 AM | Author: SVW | Version: v1.0.3
Store multiple values per option
Tie::Hash::MultiValueOpts is a Perl module designed to enhance the functionality of the Getopt::Std module by allowing options to store multiple values instead of just a single value. By tying a hash to Tie::Hash::MultiValueOpts and initializing it with an empty array reference, users can collect multiple arguments for a given option, preserving the order of input. This is particularly useful for command-line applications where options may need to accept multiple values, such as file paths or configuration settings. The recent update in version 1.0.3 includes improvements to documentation and fixes to dependency setups, ensuring a smoother user experience.
Base modules for Perl Development
Dev::Util is a Perl module designed to streamline the development process by providing a convenient loader for its sub-modules, allowing developers to easily include specific functionalities as needed. By using a simple syntax with leading colons, such as `use Dev::Util qw( ::OS ::File );`, users can load all functions from the specified sub-modules, which include utilities for operating system interactions, file handling, and more. This modular approach enhances code organization and reusability, making it an essential tool for Perl developers looking to optimize their workflow.
Data-Processor
Favorite | 20 Nov 2025 01:38 AM | Author: MBP | Version: 1.0.9
Upvotes: 2 | CPAN Testers: Pass 100.0%
Transform Perl Data Structures, Validate Data against a Schema, Produce Data from a Schema, or produce documentation directly from information in the Schema
Data::Processor is a versatile Perl module designed for transforming, validating, and generating data structures based on a defined schema. It allows developers to create schemas as nested Perl data structures, which can then be used to validate incoming data, ensuring it adheres to specified rules and formats. The module supports various validation methods, including regular expressions and custom callback functions, and can also merge schemas, making it adaptable for complex data requirements. Recent updates have improved the merging capabilities, allowing for more flexible schema integration, particularly when dealing with transformers and validators. Additionally, Data::Processor can generate data templates and documentation directly from the schema, streamlining the development process.
Params-Validate-Strict
Favorite | 20 Nov 2025 01:38 AM | Author: NHORNE | Version: 0.24
Validates a set of parameters against a schema
Params::Validate::Strict is a Perl module designed for robust parameter validation against a defined schema, ensuring that input data adheres to specified types and constraints. It allows developers to define complex validation rules for various data types, including strings, integers, and nested structures, while also supporting features like custom types, transformations, and cross-field validations. This module is particularly useful for applications requiring strict input validation, such as web application firewalls and automated testing frameworks. Notably, version 0.24 introduced a renaming of the `error_message` field to `error_msg` for consistency with related modules, along with the addition of a `description` field to enhance schema clarity.
Data-Identifier
Release | 19 Nov 2025 11:17 PM | Author: LION | Version: v0.25
Format independent identifier object
The `Data::Identifier` Perl module provides a versatile and format-independent interface for handling various types of identifiers, such as UUIDs, OIDs, and URIs. It allows users to create, manipulate, and validate identifiers while supporting deduplication and normalization for performance optimization. With methods to generate random identifiers, convert between types, and retrieve raw values or specific formats, `Data::Identifier` is designed to streamline the management of identifiers in applications. Additionally, it offers options for customization and extensibility, making it suitable for a wide range of use cases in data handling and identification tasks.
OpenAPI-Modern
Release | 19 Nov 2025 08:29 PM | Author: ETHER | Version: 0.106
Validate HTTP requests and responses against an OpenAPI v3.1 or v3.2 document
OpenAPI::Modern is a Perl module designed to validate HTTP requests and responses against OpenAPI v3.1 and v3.2 specifications, ensuring compliance with defined API contracts. It provides a robust framework for developers to create and manage OpenAPI documents, allowing for the validation of various request and response formats using Mojolicious message objects. The module supports features such as URI resolution, path item lookups, and detailed error reporting, making it easier to maintain API integrity. Notably, version 0.105 introduced improved specification compliance for matching URIs to path patterns and server URL patterns, enhancing the module's reliability in real-world applications.
A parser and compiler for the Gherkin language
The Gherkin Perl module serves as a parser and compiler for the Gherkin language, which is integral to the Cucumber testing framework. This module allows developers to read and process Gherkin feature files, enabling behavior-driven development (BDD) practices. It utilizes a formal grammar specification to parse Gherkin syntax and can generate various message types, including Abstract Syntax Trees (AST) and executable scenarios, which are sent to a user-defined sink function. Recent updates include a significant change in version 37.0.0, which introduces a `location` attribute to `Pickle` messages and requires a minimum version of the `messages` library (v31 or greater), enhancing compatibility and functionality within the Cucumber ecosystem.
Dump-Krumo
Favorite | 19 Nov 2025 07:12 PM | Author: BAKERSCOT | Version: v0.1.4
Fancy, colorful, human readable dumps of your data
Dump::Krumo is a Perl module designed to enhance the debugging experience by providing colorful, human-readable representations of data structures. By using the `kx` and `kxd` methods, developers can easily visualize complex variables, with `kxd` also including file and line information for better context during debugging. The module offers customizable options such as enabling or disabling color output, returning strings instead of printing directly, adjusting indentation levels, and even disabling all output at runtime, allowing for flexible debugging without cluttering the code. Ideal for developers seeking clarity in their data dumps, Dump::Krumo makes it easier to parse and understand variable contents at a glance.
Geo-Parser-Text
Favorite | 19 Nov 2025 06:03 PM | Author: ERUCI | Version: 0.051
Upvotes: 3 | CPAN Testers: Pass 100.0%
Perl extension for geoparsing, geocoding and standardizing locations from free form text. Worldwide Coverage. Geocode places to latitude, longitude, elevation. And vice-versa
Geo::Parser::Text is a Perl module designed for geoparsing and geocoding, enabling users to extract and standardize location data from free-form text. With worldwide coverage, it allows developers to convert place names into geographic coordinates (latitude, longitude, elevation) and vice versa. The module interfaces with the geocode.xyz and geocoder.ca APIs, providing functionality to scan text for locations or geocode specific addresses, while also supporting reverse geocoding. Recent updates include the addition of UTF-8 support, enhancing its capability to handle diverse text inputs. This module is particularly useful for applications that require location data extraction from various text sources, such as microblogs or articles.
DBD-Oracle
Favorite | 19 Nov 2025 01:52 PM | Author: ZARQUON | Version: 1.90
Oracle database driver for the DBI module
DBD::Oracle is a Perl module that serves as a database driver for the DBI (Database Interface) module, enabling seamless interaction with Oracle databases. It provides a comprehensive set of features for connecting to Oracle databases, executing SQL statements, and managing database transactions. Users can connect using various methods, including service names defined in TNSNAMES.ORA files or EZCONNECT URLs. The module supports advanced features such as scrollable cursors, LOB (Large Object) handling, and PL/SQL integration, allowing for efficient data manipulation and retrieval. Recent updates in version 1.90 include enhancements to the build process, improved metadata handling, and a significant rewrite of the login functionality to address various issues, making it more robust and user-friendly. This module is essential for Perl developers working with Oracle databases, providing the necessary tools to leverage Oracle's powerful database capabilities within Perl applications.