Recent Perl modules, releases and favorites.
Last updated 15 February 2026 12:31 AM
Last updated 15 February 2026 12:31 AM
Affix
Release | 15 Feb 2026 12:06 AM | Author: SANKO | Version: v1.0.7
Upvotes: 4 | CPAN Testers: Pass 100.0%
A Foreign Function Interface eXtension
Affix is a high-performance Foreign Function Interface (FFI) for Perl that enables seamless interaction with dynamic libraries (DLLs and shared objects) without the need for XS code or C compiler configuration. By utilizing a custom lightweight Just-In-Time (JIT) engine, Affix generates efficient machine code at runtime for function calls, significantly reducing overhead compared to traditional FFI solutions. It provides a user-friendly API for loading libraries, binding functions, and managing memory, allowing developers to easily allocate raw memory, perform pointer arithmetic, and inspect memory contents. With support for complex data types, including structs, arrays, and enums, as well as the ability to handle callbacks and variadic functions, Affix empowers Perl developers to leverage native C functionality with minimal friction.
Progress-Any-SIGHandler
Release | 15 Feb 2026 12:05 AM | Author: PERLANCAR | Version: 0.001
CPAN Testers: Pass 100.0%
Output progress to terminal as simple message
Progress::Any::SIGHandler is a Perl module designed to facilitate the output of progress updates to the terminal in response to Unix signals, primarily USR1 by default. By integrating this module into your Perl scripts, you can easily track and report the progress of long-running tasks. It allows for customization of the signal used and the format of the progress message through import arguments, enhancing the user experience during execution. With a straightforward implementation, developers can utilize this module to provide real-time feedback on task completion, making it an invaluable tool for any Perl application that requires progress monitoring.
Linux-Event
Release | 14 Feb 2026 10:16 PM | Author: HAX | Version: 0.004
Front door for the Linux::Event ecosystem
Linux::Event is a specialized Perl module designed to provide a robust event loop ecosystem tailored for Linux systems. It leverages Linux-specific primitives such as epoll for I/O readiness, timerfd for timers, signalfd for signal handling, eventfd for wakeups, and pidfd for process exit notifications. With its stable API introduced in version 0.004, Linux::Event allows developers to create efficient event-driven applications by utilizing features like mutable watcher handles, integrated signal handling, and a deadline scheduler. Recent enhancements include the addition of eventfd-based wakeups and pidfd integration for process notifications, ensuring a streamlined and effective event management experience. This module is ideal for developers looking to harness the power of Linux's event-driven capabilities in their Perl applications.
Business-ISBN-Data
Release | 14 Feb 2026 09:28 PM | Author: BRIANDFOY | Version: 20260214.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 derived from the ISBN Agency's `RangeMessage.xml` file. 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 structural changes addressing ISBN-13 prefixes. The module allows for the use of custom `RangeMessage.xml` files by setting the `ISBN_RANGE_MESSAGE` environment variable, enabling users to access 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 accessible through 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, ensuring they have accurate and up-to-date information for their applications.
CLI-Simple
Release | 14 Feb 2026 09:10 PM | Author: BIGFOOT | Version: v1.0.12
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.12 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, admin scripts, and scenarios where a lightweight CLI solution is preferred.
SimpleFlow
Release | 14 Feb 2026 08:49 PM | Author: DCON | Version: 0.12
Easy, simple workflow manager (and logger); for keeping track of and debugging large and complex shell command workflows
SimpleFlow is a Perl-based workflow manager designed to streamline the execution and debugging of complex shell command workflows, similar to tools like snakeMake or NextFlow. It allows users to define tasks with a simple interface, where each task is represented by a command and can include optional parameters such as input and output file checks, logging options, and error handling. Upon execution, each task returns a comprehensive hash containing details like exit codes, working directories, and standard output/error, making it easy to track the progress and results of each step in a workflow. This module is particularly useful for managing intricate pipelines where meticulous file handling and error checking are crucial, thereby enhancing the reliability and clarity of command execution in Perl scripts.
App-fsql
Favorite | 14 Feb 2026 05:08 PM | Author: PERLANCAR | Version: 0.233
Upvotes: 9 | CPAN Testers: Pass 100.0%
Perform SQL queries against {CSV/TSV/LTSV/JSON/YAML files,TableData modules}
App::fsql is a versatile Perl module designed to execute SQL queries on various file formats, including CSV, TSV, LTSV, JSON, and YAML, as well as TableData modules. With its command-line interface, fsql, users can easily manipulate and query data stored in these formats without needing a traditional database setup. The latest version, 0.233, released on December 29, 2023, includes updated documentation that provides examples for selecting data from TableData modules, enhancing usability for developers working with structured data. This module is particularly useful for data analysis and processing tasks where lightweight data handling is required.
App-GhostWork
Favorite | 14 Feb 2026 05:08 PM | Author: INA | Version: 0.06
Upvotes: 2 | CPAN Testers
Barcode Logger(When,Where,Who,What,toWhich,Why,Howmanysec)
App::GhostWork is a Perl module designed for logging barcode data into structured log files in CSV, LTSV, and JSON5 formats. It captures essential information such as the time and location of the scan, the identity of the scanner, the barcode scanned, its resulting status, and the time taken to create the record. Users can run the module via batch files for English or Japanese, with the option to specify a constant reason for the scan to streamline data entry. Recent updates have expanded its functionality to support Perl scripts, enhancing its versatility for developers. This module is particularly useful for applications requiring detailed tracking and analysis of barcode interactions.
App-CSVUtils
Favorite | 14 Feb 2026 05:08 PM | Author: PERLANCAR | Version: 1.036
Upvotes: 5 | CPAN Testers: Pass 100.0%
CLI utilities related to CSV
App::CSVUtils is a comprehensive command-line interface (CLI) utility suite designed for handling CSV (Comma-Separated Values) files in Perl. With a wide array of functionalities, it includes tools for adding fields, calculating averages, checking cell values, comparing files, concatenating data, and converting CSV to various formats, among others. The module allows users to generate custom CSV utilities with hooks for processing input and output, making it highly flexible for different use cases. Notably, version 1.036 introduced new options for skipping lines and patterns during input processing, enhancing its usability for complex CSV manipulations. This module is ideal for developers and data analysts looking to streamline their CSV data handling tasks efficiently.
App-LTSVUtils
Favorite | 14 Feb 2026 05:08 PM | Author: PERLANCAR | Version: 0.002
Upvotes: 1 | CPAN Testers: Pass 100.0%
CLI utilities related to LTSV
App::LTSVUtils is a Perl module that provides a set of command-line interface (CLI) utilities for working with Labeled Tab-Separated Values (LTSV) data format. It includes functions to convert LTSV to CSV and TSV formats, as well as to dump LTSV data into a structured array of hashes. Each utility function accepts a filename as input, allowing for reading from standard input if needed, and returns a structured response that includes an HTTP status code, a message, and optional payload and metadata. The module is designed to facilitate data manipulation and conversion tasks for users dealing with LTSV files. A noteworthy recent change in version 0.002 addressed a bug related to parsing date columns, ensuring that they are correctly identified.
Log-Log4perl-Layout-LTSV
Favorite | 14 Feb 2026 05:07 PM | Author: JEDI | Version: 1.004
Upvotes: 1 | CPAN Testers: Pass 100.0%
A Log4perl layout that spits out LTSV
Log::Log4perl::Layout::LTSV is a Perl module that provides a layout for logging in the Labeled Tab-Separated Values (LTSV) format within the Log4perl logging framework. This module allows developers to configure their logging output to be structured and easily parsable, making it ideal for applications that require log data to be sent over a network or processed by other systems. With its straightforward configuration, users can define loggers and appenders, specifying details such as the logging level, destination, and custom facilities. The module supports most options available in Log::Log4perl::Layout::PatternLayout, enabling flexible log formatting while ensuring that log entries are rendered in the LTSV format for enhanced readability and utility.
Devel-KYTProf
Favorite | 14 Feb 2026 05:07 PM | Author: SONGMU | Version: 0.9994
Upvotes: 8 | CPAN Testers: Pass 100.0%
Simple profiler
Devel::KYTProf is a Perl module designed for profiling code to analyze I/O blocking times, making it particularly useful for developers working with database interactions and web requests. By integrating this profiler into your code, you can easily track the execution time of specific methods, such as those from DBI and LWP, and receive detailed output that highlights performance bottlenecks. The module allows for flexible configuration, enabling users to add profiling to individual methods or entire modules, adjust settings like logging and thresholds, and even customize the profiling behavior through regex filters. With its straightforward implementation and experimental features, Devel::KYTProf is an invaluable tool for optimizing Perl applications.
Log-ger-Layout-LTSV
Favorite | 14 Feb 2026 05:07 PM | Author: PERLANCAR | Version: 0.006
Upvotes: 1 | CPAN Testers: Pass 100.0%
Layout log message as LTSV
Log::ger::Layout::LTSV is a Perl module designed to format log messages in the Labeled Tab-Separated Values (LTSV) format, allowing for structured logging that is easy to parse. This module integrates seamlessly with Log::ger, enabling users to customize log output by adding or deleting fields, including special fields such as timestamps and hostnames. It supports both hash references for direct logging and standard message formatting, ensuring flexibility in how log data is presented. The latest version, 0.006, released on March 11, 2020, updated the module to comply with Log::ger version 0.037, enhancing its compatibility with recent changes in the logging framework. For more information, visit the project's homepage on MetaCPAN.
Log-LTSV-Instance
Favorite | 14 Feb 2026 05:07 PM | Author: HIXI | Version: 0.06
Upvotes: 1 | CPAN Testers: Pass 100.0%
LTSV logger
Log::LTSV::Instance is a Perl module designed for logging in the Labeled Tab-Separated Values (LTSV) format, which is particularly useful for structured logging. It allows developers to create a logger instance that can output log messages at various severity levels, including critical, error, warning, info, and debug. The module provides a flexible interface where users can define a custom logging function and specify the desired log level. Additionally, it supports attaching metadata to log entries, such as the file and line number from which the log was generated, enhancing traceability and debugging capabilities. This makes Log::LTSV::Instance an excellent choice for applications that require organized and easily parsable log output.
Text-Table-LTSV
Favorite | 14 Feb 2026 05:07 PM | Author: PERLANCAR | Version: 0.001
Upvotes: 1 | CPAN Testers: Pass 100.0%
Generate LTSV
Text::Table::LTSV is a Perl module designed to facilitate the generation of Labeled Tab-Separated Values (LTSV) format from a two-dimensional array of data. With its straightforward interface, similar to that of Text::Table::Tiny, it allows users to easily format and output data in a structured manner. The primary function, `table`, accepts an array reference containing rows of data, where each row is itself an array reference, and returns a formatted string that represents the data in LTSV format. This module is particularly useful for applications that require a simple and efficient way to produce LTSV output, making it a valuable tool for developers working with data serialization in Perl. The initial release of this module was on June 30, 2018.
Text-LTSV-Liner
Favorite | 14 Feb 2026 05:07 PM | Author: KEYAMB | Version: 0.04
Upvotes: 1 | CPAN Testers: Pass 100.0%
Line filter of LTSV text
Text::LTSV::Liner is a Perl module designed for filtering Labeled Tab-separated Values (LTSV) text based on specified keys, making it easier to work with this data format. By utilizing the module, users can create a new instance with desired keys and process input lines to produce filtered output directly to STDOUT or parse lines for further manipulation within their code. Recent updates include the addition of a '--no-buffer' option, enhancing the module's functionality by allowing for immediate output without buffering, which can be particularly useful in real-time data processing scenarios. This module is ideal for developers looking to streamline their handling of LTSV data in Perl applications.
LINQ-style query interface for LTSV files
LTSV::LINQ is a Perl module that provides a LINQ-style query interface specifically designed for working with Labeled Tab-Separated Values (LTSV) files. It enables users to perform complex data manipulations such as filtering, transforming, and aggregating LTSV data through a fluent and chainable API. With features like lazy evaluation for efficient memory usage, a Domain Specific Language (DSL) for simple filtering, and over 30 LINQ methods for comprehensive querying capabilities, LTSV::LINQ allows for both straightforward and advanced data analysis tasks. This pure Perl implementation is compatible with Perl versions 5.005 and above, making it accessible for a wide range of environments without requiring additional dependencies.
Stable-Module
Favorite | 14 Feb 2026 04:02 PM | Author: INA | Version: 0.11
Upvotes: 3 | CPAN Testers
Frequently used modules on Perl5 application
Stable::Module is a Perl module designed to simplify the use of frequently utilized modules in Perl5 applications, catering to both modern and traditional Perl environments. By providing a straightforward interface, it allows developers to easily import essential functionalities such as file manipulation, path handling, and list operations, while also supporting multibyte encoding for path names. Recent updates have expanded its compatibility to various operating systems, including macOS, HP-UX, AIX, Windows, and Solaris, enhancing its versatility for cross-platform development. This module is particularly useful for developers looking to streamline their code by consolidating commonly used modules into a single import statement.
Protocol-HTTP2
Release | 14 Feb 2026 12:59 PM | Author: CRUX | Version: 1.12
Upvotes: 3 | CPAN Testers: Pass 100.0%
HTTP/2 protocol implementation (RFC 7540)
The `Protocol::HTTP2` Perl module provides a comprehensive implementation of the HTTP/2 protocol as defined in RFC 7540, featuring stateful encoders and decoders for HTTP/2 frames. This module allows developers to create their own HTTP/2 clients, servers, or intermediaries using their preferred event loop, supporting both secure (TLS) and non-secure connections. While currently in beta, it offers stable structures and methods for various HTTP/2 functionalities, including header compression via HPACK, stream management, and flow control. Notably, the recent version 1.12 introduced fixes for handling CONTINUATION frames, enhancing the module's reliability and performance. This makes `Protocol::HTTP2` a valuable tool for those looking to delve into HTTP/2 implementations in Perl.
Handy Perl7 scripting environment on Perl5
The Perl7::Handy module provides a convenient scripting environment that allows developers to utilize Perl 7 features while working within Perl 5. Specifically designed for Perl versions 5.00503 and later, it automatically imports essential pragmas such as "strict" and "warnings," enhances safety by disabling bareword filehandles and multidimensional arrays, and introduces support for subroutine signatures and indirect method calls in compatible versions. This module aims to streamline the transition to Perl 7 by enforcing modern coding practices and improving code safety. Notably, recent updates have refined its functionality, including the removal of outdated checks and the introduction of additional features to enhance compatibility with newer Perl versions.
Plack-Middleware-ProofOfWork
Release | 14 Feb 2026 11:56 AM | Author: PSTADT | Version: 0.24
Upvotes: 2 | CPAN Testers: Pass 100.0%
Proof-of-Work based bot protection for Plack applications
Plack::Middleware::ProofOfWork is a Perl module designed to enhance the security of Plack applications by implementing a Proof-of-Work mechanism that protects against automated requests from bots and scrapers. By requiring legitimate users to solve a computationally intensive task—finding a nonce that produces a hash with a specified number of leading zeros—this middleware effectively filters out unwanted automated traffic. It offers configurable options such as difficulty levels, cookie management, and bot verification methods, allowing developers to tailor the protection to their specific needs. With built-in support for JavaScript integration and customizable challenge pages, Plack::Middleware::ProofOfWork provides a robust solution for safeguarding web applications while maintaining a user-friendly experience.
Graphics-Framebuffer
Release | 14 Feb 2026 11:24 AM | Author: RKELSCH | Version: 6.87
A Simple Framebuffer Graphics Library
The `Graphics::Framebuffer` Perl module is a straightforward graphics library designed for use in a Linux console framebuffer environment, allowing for direct drawing on 32/24/16 bit framebuffers. It provides a simple API for various drawing operations, including plotting pixels, drawing shapes like circles and polygons, and rendering text using TrueType fonts. The module is particularly useful for applications that require low-level graphics manipulation without the overhead of graphical environments like X-Windows. Recent updates have improved performance, including the addition of forced buffer flushing and enhancements to splash screen coloring, making it easier to manage graphics output effectively. This module is ideal for developers looking to create console-based graphical applications or media servers that require efficient rendering capabilities.
Em·dee, Markdown Easy on the Eyes
The `mdee` Perl module is a terminal-based Markdown viewer designed to enhance the readability of Markdown documents, particularly those generated by large language models (LLMs). It provides a multi-column layout with syntax highlighting, allowing users to view Markdown files with minimal formatting while preserving markup characters. Key features include line folding for long list items, table formatting, and customizable color themes, which can be adjusted for light or dark modes. The module supports various output styles, including paged output and direct piping, making it versatile for different terminal environments. With options for adjusting column width, pane layout, and visibility of Markdown elements, `mdee` is an effective tool for anyone looking to read and analyze Markdown content efficiently in a terminal setting.
Module-Starter
Favorite | 14 Feb 2026 09:13 AM | Author: XSAWYERX | Version: 1.82
Upvotes: 35 | CPAN Testers: Pass 100.0%
A simple starter kit for any module
Module::Starter is a Perl module designed to facilitate the creation of skeletal CPAN distributions, providing a streamlined way to generate essential files such as builder scripts, tests, documentation, and module code. It features a single public method, `create_distro`, which orchestrates the entire process based on a hash of parameters, allowing users to specify details like distribution name, modules, directory, author information, and more. Notably, version 1.82 introduced a fix for compilation issues on Perl 5.12 and earlier, ensuring broader compatibility for developers. This module is particularly useful for those looking to quickly set up a new Perl module without delving into the intricacies of distribution management.
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 methods that mirror traditional system calls in C. Notably, the module includes automatic handling of UTF-16LE encoding for Windows file names, ensuring compatibility with the underlying operating system. Recent updates have introduced a portable method for setting TCP keep-alive idle time across different platforms, enhancing the module's functionality and usability. This makes `SPVM::Sys` an essential tool for developers looking to leverage system-level programming within the SPVM framework.
Base Class for Database Drivers Providing Common Utilities
SPVM::DBI is a foundational Perl module designed to provide a database-independent interface for database connections, serving as a base class for various database drivers like DBD::SQLite. It offers common functionalities such as connection management, option validation, and DSN parsing, which driver authors can extend to implement specific database logic. While it is currently in an alpha stage of development and not recommended for production use, it allows users to perform database operations through its subclasses. Recent updates include significant changes to timeout properties, now using seconds as double values, aligning with Perl's conventions for time durations, which enhances the module's usability and consistency.
Daje-Plugin-Apploader
Release | 14 Feb 2026 03:45 AM | Author: JANESKIL | Version: 0.35
Loads stuff from a config file during starup of the Daje server
Daje::Plugin::Apploader is a Perl module designed to streamline the startup process of the Daje server by loading configurations from a specified file. It facilitates the automatic installation and updating of missing or outdated modules from CPAN, ensuring that the server operates with the latest dependencies. The module supports various configurations, including plugins, routes, and helpers, allowing for flexible integration into the Daje framework. Recent updates have included corrections to dependencies and bug fixes, enhancing the module's reliability and functionality. This makes Daje::Plugin::Apploader an essential tool for developers looking to maintain an efficient and up-to-date Daje server environment.
Daje-Database-Migrator
Release | 14 Feb 2026 03:42 AM | Author: JANESKIL | Version: 1.05
It's the database migrate plugin for Daje::Workflow
Daje::Database::Migrator is a Perl module designed as a database migration plugin specifically for the Daje workflow framework. It facilitates the management and execution of database schema migrations, allowing developers to easily apply changes to their database structure through a straightforward interface. Users can define migrations either by specifying a class or by providing a SQL file, making it flexible for various use cases. The module requires Perl version 5.40 and the Mojo framework for its operation. A noteworthy recent update in version 1.05, released on February 14, 2026, introduced exception handling, enhancing the robustness of the migration process.
Daje-Document-Builder
Release | 14 Feb 2026 03:41 AM | Author: JANESKIL | Version: 0.15
It's the document builder
Daje::Document::Builder is a Perl module designed to facilitate the creation of documents using the Template Toolkit, allowing developers to generate structured outputs based on predefined templates. By instantiating the builder with a template source, data sections, and relevant data, users can easily process the document generation and handle any errors that may arise during the process. The module provides a straightforward interface for output retrieval and error management, making it a valuable tool for applications that require dynamic document creation. Notably, the recent update (version 0.15) introduced a refactoring of subs to accommodate an unlimited number of subs, enhancing its flexibility and usability.