Recent Perl modules, releases and favorites.
Last updated 14 February 2026 08:31 PM
Last updated 14 February 2026 08:31 PM
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.
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.
Is a Mojolicious server serving Daje stuff
Daje is a lightweight web server built on the Mojolicious framework, designed to serve Daje-related content efficiently. It requires the Mojo::Pg module for PostgreSQL database interactions, as well as Cwd and Mojo::Base for core functionality. The primary method, `startup`, is executed once when the server starts, allowing for the initialization of server settings and routes. With its straightforward setup and reliance on Mojolicious, Daje is an ideal choice for developers looking to create and manage web applications with ease.
Plugin to use Daje::Wrokflow
Daje::Plugin::Workflow is a Mojolicious plugin designed to integrate the Daje::Workflow framework into your web applications, enabling seamless workflow management. By utilizing this plugin, developers can easily configure and load workflows from specified directories, enhancing the functionality of their applications with robust workflow capabilities. It requires several components, including Daje::Database::Migrator and Daje::Workflow, ensuring that users have the necessary tools for effective workflow implementation. With its straightforward registration method, Daje::Plugin::Workflow simplifies the process of incorporating advanced workflow features into Mojolicious applications.
It's module for JWT's
Daje::Tools::JWT is a Perl module designed for handling JSON Web Tokens (JWTs), providing essential methods for encoding and decoding JWTs. It requires the Mojo::JWT, Data::Dumper, and Mojo::Base modules to function effectively. The module includes methods such as `companies_users_pkey`, `companise_pkey`, `decode_jwt`, and `encode_jwt`, which facilitate the management of JWTs in applications. This module is particularly useful for developers looking to implement secure token-based authentication in their Perl applications. The initial release of Daje::Tools::JWT was on February 14, 2026, marking its introduction to the Perl ecosystem.
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. JQ::Lite can be utilized as a library or through its command-line tool, "jq-lite," which supports various features including optional key access, boolean filtering, and a range of built-in functions for data manipulation. The latest version, 2.37, enhances numeric extraction across aggregate functions to prevent warnings with mixed-type arrays, ensuring robust performance in diverse data scenarios.
П pretty fast class builder with most Moo/Moose features 🐟
Marlin is a high-performance class builder for Perl that combines the features of Moose and Moo with a unique syntax, making it an excellent choice for developers seeking speed and flexibility in object-oriented programming. Utilizing Class::XSAccessor, Class::XSConstructor, and Type::Tiny::XS, Marlin is designed to be faster than its predecessors, particularly for simpler use cases, while still supporting Perl versions as old as 5.8.8. It allows for easy declaration of class attributes, complete with type checks and various behaviors, using concise shortcuts. Marlin also supports extensions and integrates seamlessly with other Perl modules, making it a versatile tool for both novice and experienced Perl programmers looking to build robust object-oriented applications.
Apache-Session-Generate-Random
Release | 14 Feb 2026 12:04 AM | Author: RRWO | Version: 0.001000
CPAN Testers: Pass 100.0%
Use system randomness for generating session ids
Apache::Session::Generate::Random is a Perl module designed to enhance session management by generating secure random session IDs using the system's randomness sources. It integrates seamlessly with Apache::Session, allowing developers to tie session data to various storage backends, such as PostgreSQL, while ensuring that session identifiers are both unique and secure. This module is particularly useful for applications that require robust session handling and security. The initial release, version 0.001000, was made on February 14, 2026, marking the introduction of this functionality to the Perl ecosystem.
Class-XSConstructor
Release | 13 Feb 2026 11:17 PM | Author: TOBYINK | Version: 0.023006
A super-fast constructor in XS
Class::XSConstructor is a Perl module designed to create highly efficient constructors for classes using XS (eXternal Subroutine) code, significantly enhancing performance compared to traditional Perl-based constructors. It supports a wide range of features, including initialization from hash references or key-value pairs, required attributes, defaults, builders, type constraints, and type coercions. The module allows for advanced functionalities such as weak references, triggers, and custom slot initializers, while also providing options for strict parameter checking akin to Moose and Moo. Recent updates have improved compatibility and performance, including the addition of the `clone_on_write` feature, which allows for automatic deep cloning of incoming arguments, enhancing data integrity within objects. This module is particularly useful for developers seeking to optimize object construction in Perl applications while maintaining flexibility and ease of use.