Recent Perl modules, releases and favorites.
Last updated 20 July 2026 04:31 PM
Last updated 20 July 2026 04:31 PM
Test-Mockingbird
Release | 20 Jul 2026 03:02 PM | Author: NHORNE | Version: 0.12
Advanced mocking library for Perl with support for dependency injection and spies
Test::Mockingbird is an advanced mocking toolkit for Perl test suites that makes it easy to replace or wrap methods, record calls, inject fake dependencies, intercept constructors, verify call order, and work with async Future-based stubs via the companion Async module. It supports both shorthand and longhand target syntax, stacked LIFO mock layers, scoped guards that automatically restore on scope exit, and a set of convenience helpers for fixed returns, exceptions, sequences and one-shot mocks, plus diagnose_mocks/diagnose_mocks_pretty to inspect active layers and restore_all to clean up. The recent 0.12 release adds before, after and around wrappers so you can run hooks before or after the original or receive the original coderef to implement call-through behaviour cleanly and predictably. The author documents a few practical limitations such as spy() emitting prototype-mismatch warnings when wrapping prototyped subs and Package->can sometimes appearing truthy for auto-vivified but non-callable stubs, with recommended workarounds in the documentation.
Email-Abuse-Investigator
Release | 20 Jul 2026 12:35 PM | Author: NHORNE | Version: 0.14
CPAN Testers: Pass 100.0%
Analyse spam email to identify originating hosts, hosted URLs, and suspicious domains
Email::Abuse::Investigator is a tool for analysts and security teams that inspects the raw source of suspected spam or phishing messages and extracts the facts you need to file abuse reports. It parses RFC‑2822 messages, walks the Received headers to find the likely originating IP and its owner, pulls every http/https URL from text and HTML parts and resolves their hosts, and gathers domain intelligence from mailto links, From/Reply-To/DKIM/List‑Unsubscribe/Message‑ID fields including WHOIS/RDAP, MX, NS and registrar details so you can identify who to contact. The module produces analyst-facing plain text reports and compact abuse-report bodies ready to send, collates email and web‑form recipients, computes a heuristic risk score with flagged issues, follows common cloud-storage and shortener redirect cloakers when LWP::UserAgent is available, and supports IPv6 and cross‑message caching via CHI to avoid repeated lookups. Optional modules such as Net::DNS, LWP::UserAgent, Domain::PublicSuffix, AnyEvent::DNS and CHI greatly improve accuracy and performance. Known limitations documented by the author include no automatic charset conversion, a hand‑rolled MIME parser that is not fully RFC conformant, IPv4‑only CIDR matching for trusted_relays, lack of WHOIS rate‑limit handling, and non thread‑safe global cache and no live DMARC TXT lookups. In the recent 0.14 release the provider abuse table was expanded to cover Google Translate cloaker hosts and Google Workspace SMTP domains so those hosts now resolve to actionable abuse@google.com contacts and unresolved_contacts() handling was corrected, making it easier to identify and report Google‑hosted cloaked phishing pages.
Termbox-PP
Release | 20 Jul 2026 11:57 AM | Author: BRICKPOOL | Version: v0.5.1
CPAN Testers: Pass 100.0%
Perl port of the termbox2 terminal library
Termbox::PP is a compact, pure-Perl implementation of the Termbox terminal UI library that makes it easy to build text-mode interfaces without XS or external C libraries. It gives you a simple, cell-based back buffer for drawing text and attributes, functions to initialize and restore the terminal, helpers to print formatted UTF-8 text, and event objects for keyboard, mouse and resize handling so you can write a single-threaded render loop that responds to user input. The module aims to mirror the termbox2 API while staying small and portable, works out of the box on Unix with core Perl and can be used on Windows with the usual console support libraries, and it exposes utility routines for Unicode handling, color modes and low-level raw output when needed. The project is still evolving so expect occasional API tweaks, and recent updates have restored Windows Virtual Terminal support, improved Unicode width handling and performance, and fixed a few export and initialization edge cases.
YAML Ain't Markup Language™
YAML is a Perl module that provides simple Load and Dump functions to read and write YAML, the human-readable data serialization format, converting between YAML documents and Perl data structures. It handles mappings, sequences, scalars, aliases, multi-document streams, optional preservation of key order via YAML::Node, and even experimental support for code references and typeglobs, plus convenience helpers for files and an interactive YAML shell. This distribution is the original, Perl-native YAML implementation and is handy for producing readable dumps and working with YAML in scripts, but the author cautions that it is old, has known bugs and limited maintenance and recommends newer alternatives such as YAML::PP or YAML::PP::LibYAML for most production use.
Business-NAB
Release | 20 Jul 2026 11:30 AM | Author: LEEJO | Version: 0.06
CPAN Testers: Pass 100.0%
Top level namespace for the various NAB file formats
Business::NAB is a lightweight top-level Perl namespace for working with National Australia Bank interchange file formats, not a standalone tool but a hub that exposes focused modules for creating and parsing BPAY batches and remittances, Direct Entry payments/returns/reports, NAI/BAI2 account information files, and XML acknowledgements, along with a small type library. It lets Perl apps handle NAB-specific file interchange without making you implement the record formats yourself. Recent updates (0.06) improved robustness by guarding against rare rounding errors and preventing partial file writes, and earlier releases added account-number padding to match bank expectations. The code is free under the same terms as Perl and development happens on GitHub if you want to report issues or contribute.
CPAN-Maker-Bootstrapper
Release | 20 Jul 2026 11:25 AM | Author: BIGFOOT | Version: v2.0.10
CPAN Testers: Pass 100.0%
CPAN::Maker::Bootstrapper
CPAN::Maker::Bootstrapper is a command-line scaffold that creates a ready-to-build Perl CPAN distribution with one command by installing a managed Makefile, a prefilled buildspec.yml, .pm.in/.pl.in source stubs, tests, and supporting make snippets and then running make to produce a distributable tarball. It is aimed at developers who want a reproducible, local build system that enforces good practices out of the box such as dependency scanning, syntax checks, perltidy and perlcritic gates, modulino support, and an upgrade-safe extension point via project.mk so you can customize builds without touching the managed Makefile. It also bundles AI-assisted workflows tied to the Anthropic Claude API for iterative code and POD reviews, annotation-driven review rounds, and LLM-generated release notes and changelogs, with prompt profiles and dry-run token estimates to control cost. The importer can bring existing .pm, .pl and test files into a new project and the CI builder helper and workflow targets make it easy to reproduce builds in Docker or GitHub Actions. Note that import and stub modes are mutually exclusive, imported files are copied as “.in” sources and are not auto-tidied, the importer relies on package declarations to place modules under lib, and inter-module build-order issues may require declaring dependencies in project.mk. Recent releases have refined release-notes generation and LLM tooling and added features such as an ExtraFiles role and other improvements to the build and prompt handling.
CLI-Simple
Release | 20 Jul 2026 11:23 AM | Author: BIGFOOT | Version: v2.1.1
Simple command line script accelerator
CLI::Simple is a lightweight, object-oriented base class for building modulino-style command line Perl tools that need options, subcommands and positional arguments. It uses Getopt::Long parsing and auto-generates getters for options and extra properties, integrates with Log::Log4perl including per-command log levels, and supports an optional role-based architecture driven by a YAML manifest so you can split commands into Role::Tiny roles and scaffold a CPAN-ready project. The module ships useful internal commands and helpers such as -dump-spec, -scaffold and -generate-completion for bash completions, a create-modulino helper, customizable help sections and optional pager output, and it keeps lifecycle and validation explicit via a simple init/run flow so you stay in control. The design favors minimal dependencies and pragmatic features like option and command aliases, custom error handlers and easy defaults. Recent updates add an automatic color appender for logging and make Term::ANSIColor an optional recommended dependency so you can get colored log output without forcing a hard dependency.
CallBackery
Release | 20 Jul 2026 10:55 AM | Author: OETIKER | Version: v0.58.2
CallBackery is a Mojolicious+Qooxdoo Framework for building Web Applications
CallBackery is an application framework that wires a Mojolicious web engine to a ready-made frontend framework so you can build appliance-style web user interfaces quickly. It centralizes configuration, database access, RPC dispatch and security headers and exposes convenient attributes for config files, a pluggable database backend, RPC controller and initial documentation index so the server side can drive a Qooxdoo frontend. The module is aimed at developers who want a batteries-included backend for interactive web apps and it includes sensible defaults such as an etc/callbackery.cfg config file with an override via the CALLBACKERY_CONF environment variable. Recent work modernized the RPC layer to JSON‑RPC 2.0 and improved session expiry handling and frontend error/ retry behavior, plus ongoing frontend bug fixes to form loading and triggers. The distribution is released under the GNU GPL.
Sys-OsRelease-Lite
Release | 20 Jul 2026 06:38 AM | Author: IKLUFT | Version: v0.4.2+lite
CPAN Testers: N/A 100.0%
Read operating system details from standard /etc/os-release file
Sys::OsRelease::Lite is a lightweight Perl helper that reads the standard /etc/os-release file and exposes the operating system and distribution metadata to your scripts in a simple, consistent way. It provides a singleton interface with ready-made accessors for common fields like id, id_like, version_id and pretty_name, plus generic methods to list, check and fetch any discovered attributes, and a platform helper that maps common ID_LIKE values to familiar platform names. The module keeps dependencies minimal so it is suitable for use in system scripts, installers and containers and it will fall back to Perl's native osname if no os-release file is found. Recent changes added a Sys::OsRelease::Lite packaging variant to maintain compatibility with older Perls before 5.22 and adjusted the Lite delivery for CPAN, making the same functionality available on legacy systems.
Sys-OsRelease
Release | 20 Jul 2026 06:35 AM | Author: IKLUFT | Version: 0.4.2
Read operating system details from standard /etc/os-release file
Sys::OsRelease is a lightweight Perl helper for reading the standard /etc/os-release file used by Linux and BSD to identify the operating system and distribution. It provides a singleton-based interface with convenient read-only accessors like id(), id_like(), name() and many more, plus generic methods such as get(), has_attr(), found_attrs() and platform() to return a normalized platform name. The module keeps minimal dependencies and supports both class-style and object-style usage so scripts can easily detect OS type for configuration, packaging or installation logic. It requires Perl 5.22 or newer and a repackaged Sys::OsRelease::Lite exists for older Perl versions.
Perl-Dist-APPerl
Favorite | 20 Jul 2026 05:27 AM | Author: GAHAYES | Version: v0.8.0
Upvotes: 9 | CPAN Testers: Unknown 100.0%
Actually Portable Perl
Perl::Dist::APPerl delivers APPerl, a single-file portable Perl runtime that runs the same binary across multiple x86_64 operating systems and can carry Perl modules and scripts inside the executable as a ZIP filesystem. Using the apperlm command you can create and manage build configurations, build from an existing APPerl or compile Perl and the Cosmopolitan libc from scratch for static builds that support XS extensions, and include CPAN distributions by pointing apperlm at tarballs or folders. At runtime APPerl can dispatch embedded scripts by path, by an environment variable, or by argv[0] so you can ship standalone Perl applications, bundle a consistent interpreter for teams, or carry Perl on a USB drive without installing anything. It also supports debugging features like syscall tracing and function tracing and notes that building from source requires Linux. Recent releases added official builds for Perl 5.42 and 5.44 along with a variety of build and test fixes to improve compatibility.
Getopt-Class
Favorite | 20 Jul 2026 05:27 AM | Author: JDEGUEST | Version: v1.2.0
A class based approach for options of Getopt::Long
Getopt::Class is a lightweight wrapper around Getopt::Long that lets you declare a dictionary of typed command‑line options and group them into named classes so you can collect, validate and access related sets of options for different features of your program. You define each option with type, aliases, defaults and validation rules and the module converts parsed values into convenient typed objects (scalars, booleans, arrays, files, URIs, datetimes, hashes) that you can access as hash keys or as methods. It supports mirrored enable/disable and with/without forms, required and regexp checks, action callbacks, and class-level helpers to extract only the values relevant to a given feature, and it reports structured errors instead of dying. If you build command line tools that expose multiple feature areas or need richer validation and objectified option values, Getopt::Class simplifies wiring Getopt::Long into that workflow. The module is mature and actively maintained with a recent v1.2.0 release and updated dependencies.
Convert POD data to various other formats
Pod::Man converts Perl's POD documentation into *roff using the man macros so you can produce standard Unix manual pages viewable with man or nroff. You can run it via the pod2man script or use it as a parser object to read POD from files, strings, or filehandles and write formatted output to a file, handle, or string. The module defaults to UTF-8 output and provides options to control headers, footers, section number, output encoding, quote characters, and optional "guesswork" rules that simplify common Perl documentation patterns. On modern systems that use groff or mandoc UTF-8 output renders correctly but very old troff/nroff implementations may not support Unicode and Pod::Man offers a legacy "roff" mode for backward compatibility at the cost of poor non‑ASCII rendering. Note that some *roff quirks remain, such as sentence spacing and the treatment of hyphens and quotes, which Pod::Man handles conservatively to preserve command names and copy/paste behavior. Pod::Man is included in Perl core and is actively maintained.
OpenAPI-Modern
Release | 20 Jul 2026 02:08 AM | Author: ETHER | Version: 0.142
Validate HTTP requests and responses against an OpenAPI v3.0, v3.1 or v3.2 document
OpenAPI::Modern is a Perl library that validates HTTP requests and responses against an OpenAPI v3.0, v3.1 or v3.2 document and returns a detailed JSON::Schema::Modern::Result describing any errors and the deserialized request or response data. It loads your OpenAPI description, uses the JSON::Schema::Modern evaluator to resolve $ref and schema dialects, and provides convenient methods such as validate_request, validate_response, find_path_item and recursive_get so you can map an incoming Mojo, Plack, Catalyst or Dancer2 message to the right operation and check parameters, headers, cookies, querystrings and bodies against the spec. The module bundles up-to-date metaschemas and media-type decoders, supports type coercion and optional default-population of missing values, and can be cached or serialized for faster startup in preforked deployments. Note that some less common features are not yet implemented, multipart messages are unsupported and the module does not itself enforce Authorization schemes, so for best results parse network messages into Mojolicious objects before validating. The most recent release fixes path matching for URIs containing URL-escaped characters and improves restoration of cached documents and format handlers after deserializing an OpenAPI::Modern object.
Can easy script in Big5, Big5-HKSCS, GBK, Sjis(also CP932), UHC, UTF-8, ..
mb.pm is a single-file Perl tool that makes it easy to write and run Perl scripts containing multibyte literal text in many legacy encodings as well as UTF-8 and WTF-8, by transpiling MBCS source into safe octet-oriented Perl or by providing a runtime mb:: API for selective codepoint-aware operations. It supports Big5, Big5-HKSCS, EUC-JP, EUC-TW, GB18030, GBK, Shift_JIS / CP932, UHC, Johab, HP-15 and others, automatically escapes problematic multibyte sequences that collide with ASCII metacharacters, and rewrites regular expressions and character classes so they behave sensibly for multibyte codepoints while leaving traditional byte-oriented builtins unchanged. You can use it as a source filter on modern Perls, as a modulino wrapper (perl mb.pm script.pl) for older Perls, or call mb:: routines at runtime to get codepoint semantics where needed, and it also includes helpers for Windows globbing and filename handling. The author notes some tradeoffs and limits, for example the modulino wrapper path writes a transpiled .oo file and there are intentional omissions such as full Unicode property support and non ASCII casing, plus a few platform-specific quirks, but for anyone maintaining or writing Perl that must work with MBCS source text or porting JPerl-era scripts this module is highly practical.
Fast CBOR for everyone
CBOR::Free is a fast XS-based Perl library for encoding and decoding CBOR data, aimed at making compact binary data interchange easy from Perl. It converts common Perl values to CBOR and back, supports tagged values, Types::Serialiser booleans, optional preservation of shared or circular references, and several string-encoding modes so you can choose how text and binary data are represented. Decoding yields UTF-8-decoded Perl strings for CBOR text and undecoded scalars for binary, and the module will warn or throw on invalid or extra input so you get predictable error handling. Be aware that floating point behavior depends on your Perl build and that integer handling follows CBOR and Perl limits, so very large integers or non-IEEE floating types may need special handling. The distribution is experimental and its interface may change, but it is lightweight, performs competitively with other CBOR and binary serializers, and is licensed under the same terms as Perl.
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a pure-Perl implementation of a jq-like JSON query engine that lets you run familiar dot-notation filters and pipelines from Perl code or the bundled jq-lite command-line tool without installing external binaries or XS modules. It supports traversal, optional-safe key access, array flattening and indexing, boolean filtering, pipe-style chaining, mapping/reduction helpers, many jq-compatible built-in functions, and an interactive REPL, and it returns native Perl scalars, arrayrefs, and hashrefs for further processing. The module is especially useful in minimal, locked-down, containerized, or air-gapped environments where the jq binary cannot be installed but jq-style querying is needed, and it can use JSON::PP by default with optional faster decoders if available. In the current 2.48 release the author fixed comparison handling for values produced by piped filters and restored reliable access to object fields named "count", improving correctness for chained queries.
JSON-Schema-Modern
Release | 19 Jul 2026 11:31 PM | Author: ETHER | Version: 0.642
Validate data against a schema using a JSON Schema
JSON::Schema::Modern is a full-featured Perl evaluator and validator for JSON Schema that implements the current draft2020-12 specification and earlier drafts, letting you validate Perl data structures or JSON strings against rich schema documents. It provides a configurable evaluator with options for short-circuiting, strict unknown-keyword checking, format validation, custom format and media-type handlers, content decoding, and an option to surface default values discovered during validation, and it can register schema documents or resolved resources for reuse and caching. The module returns detailed result objects rather than just a pass/fail flag and includes traversal and schema-validation helpers useful for tooling such as OpenAPI processing. It supports serialization for caching large evaluator objects and provides hooks for adding custom encodings, media types and vocabularies. Note that it does not automatically load schema files from disk or the network, formats are treated as annotations by default unless enabled, and you should use a trusted JSON decoder such as Cpanel::JSON::XS to ensure correct typing. Recent updates improved media handling for application/x-www-form-urlencoded payloads and made cached schema deserialization more robust. If you need a standards-compliant, extensible JSON Schema engine in Perl for validation or API tooling, this module is highly relevant.
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
CPANSA::DB is a data-only Perl module that packages the CPAN Security Advisory database as a ready-to-use Perl data structure. Calling its single db() subroutine returns a hash reference containing all advisory reports so tools like CPAN::Audit or your own scripts can programmatically check modules and versions for known security issues. The distribution also provides the same data in JSON and is published on GitHub with GPG signatures and GitHub Attestations so you can verify authenticity. The dataset is updated regularly and recent releases have focused on trimming the data into a more compact format and keeping the advisory records current.
Catalyst-Plugin-JSONRPC-Server
Release | 19 Jul 2026 06:52 PM | Author: PENFOLD | Version: 0.004
Generic JSON-RPC 2.0 server plugin for Catalyst
Catalyst::Plugin::JSONRPC::Server is a small plugin that adds JSON-RPC 2.0 request handling to Catalyst apps by giving your context two helpers, jsonrpc_register and jsonrpc_dispatch, so you can register method handlers inside a request and have the plugin parse, route and respond to JSON-RPC calls over HTTP. It builds a fresh dispatcher per request so handlers and any closures do not leak between requests, and you can tune behavior with configuration like max_body_bytes (default 10 MiB) or supply your own dispatcher to change limits such as max_batch (default 1000). Handlers receive the JSON-RPC params and return results or throw a Catalyst::Plugin::JSONRPC::Server::Error to signal JSON-RPC errors while a plain die becomes a guarded internal error. Dispatch writes the appropriate HTTP response, returning the response payload or undef for notifications, and there is a jsonrpc_dispatch_with method if you need to reuse or preconfigure a dispatcher. The distribution includes a runnable example app and client so you can see echo and sum handlers in action.
Get basic statistical functions, like in R, but with Perl using XS for performance
Stats::LikeR brings a compact, R-like toolkit of data frame operations and statistical routines to Perl with an emphasis on speed and familiar idioms, offering frame-aware functions that work on array-of-arrays, array-of-hashes, hash-of-arrays, and hash-of-hashes and a large suite of stats tools such as lm, glm, aov, anova, t_test, wilcox_test, chisq_test, fisher_test, kruskal_test, and many correlation and descriptive routines, plus data wrangling helpers like agg, group_by, merge, concat/rbind, melt, pivot_table, assign, dropna, fillna, ffill/bfill, drop_duplicates, select/drop_cols, csort, and utilities like vals, colnames, rownames, qcut, quantile, rank, and uniq. The API is styled to feel like List::Util and R idioms so you can group, aggregate, reshape, and join tables with concise calls while benefiting from XS-accelerated numeric cores for heavy work. The module also includes robust I/O with read_table and write_table that handle CSV/TSV and XLSX, the latter much faster and leaner in recent releases, and it aims to be portable back to older Perl 5.10. In the recent 0.24 release the interpolate routines were moved into XS giving large speedups for linear, pchip and spline methods and now match pandas/scipy behavior to high precision, read_table gained much faster XLSX parsing and lower memory use, and several convenience frame operations such as bfill, ffill, melt, pivot_table and drop_duplicates were added, so if you need R-style data frame workflows or statistical tests inside Perl with production performance, Stats::LikeR is likely relevant.
A parser and compiler for the Gherkin language
Gherkin is the Perl implementation of the Gherkin language parser and compiler used by the Cucumber project. It reads feature files (including Markdown-formatted Gherkin), parses them into an AST and compiles executable scenarios known as pickles, and emits protobuf-based Cucumber::Messages wrapped as NDJSON envelopes so downstream tools can consume a standard message stream. The API is stream-oriented: call Gherkin->from_paths or from_source and supply a unique-ID generator coderef and a sink coderef to receive Envelope messages, and control whether the Source, GherkinDocument (AST) and/or Pickle messages are included via options. The module respects encoding headers in feature files and provides a to_json helper on envelopes for UTF-8 NDJSON output. Note that older releases used plain hashes but modern versions send Cucumber::Messages objects, and recent updates added Markdown Gherkin support and the ability for a step to carry both a DocString and a data table, keeping the parser aligned with the evolving Gherkin grammar. If you are building Cucumber tooling or any pipeline that needs a canonical Gherkin parser in Perl, this module is directly relevant.
Pod-Simpler-Aoh
Release | 19 Jul 2026 04:09 PM | Author: LNATION | Version: 1.01
CPAN Testers: Pass 100.0%
Parse pod into an array of hashes
Pod::Simpler::Aoh is a small Perl module that takes POD documentation and converts it into a simple, program-friendly array of hashes so you can inspect, search, and manipulate sections of documentation from code. You create a parser, feed it a file or a string, and it returns an arrayref or array of hashes where each entry represents a POD section with keys like identifier, title, and content. There is an option to split content into element-level hashes for finer-grained processing, and convenience methods let you retrieve a single section by index or search the parsed POD by a key and value. The module builds on Pod::Simple and aims to make POD easier to work with in scripts and tools that need structured access to documentation.
Net-BitTorrent
Release | 19 Jul 2026 03:55 PM | Author: SANKO | Version: v2.1.0
CPAN Testers: Fail 100.0%
Pure Perl BitTorrent Client
Net::BitTorrent is a full-featured, modern BitTorrent client library for Perl 5.40+ that lets you embed a complete torrent engine into your programs while remaining agnostic about how you do I/O. It supports BitTorrent v2 and hybrid v1/v2 swarms, DHT, uTP, protocol encryption, magnet links and .torrent files, per-torrent storage and piece verification, and a simple event/callback API so you can add torrents, drive the engine with a tick loop or integrate it into IO::Async or Mojo::IOLoop, and control download/upload limits or persistent session state. The module exposes high-level methods such as add, add_magnet, add_infohash, wait, tick, save_state, and DHT helpers so developers can quickly join or seed swarms and react to events without reimplementing protocol details. The recent 2.1.0 release focuses on comprehensive security and robustness hardening, fixing several CVE-class issues, replacing insecure RNG usage, adding SSRF and IP safety checks, capping message and queue sizes, and tightening protocol validation and resource limits to make the client safer for use in production. If you need a configurable, actively maintained BitTorrent engine in Perl that emphasizes v2 support and secure defaults, Net::BitTorrent is a strong choice.
SQL-Abstract-Plugin-TableAlias
Release | 19 Jul 2026 03:38 PM | Author: LNATION | Version: 0.06
CPAN Testers: Pass 100.0%
Automagical table aliasing
SQL::Abstract::Plugin::TableAlias is a lightweight plugin for SQL::Abstract that automatically assigns and applies table aliases when generating SQL, so your SELECT, FROM, JOIN, WHERE and ORDER BY clauses are consistently qualified without hand‑crafted aliasing. You enable it by loading the plugin into SQL::Abstract and optionally provide a talias list to control alias names, and it will rewrite column and join references to use those aliases which helps avoid ambiguous column names in complex queries. It builds on the ExtraClauses plugin and is designed to be simple and unobtrusive to existing SQL::Abstract usage. Recent fixes include correct handling of aliased column expressions using {-as => ...} and a housekeeping release that removed PAX headers.
YAML-Ordered-Conditional
Release | 19 Jul 2026 03:34 PM | Author: LNATION | Version: 0.05
CPAN Testers: Pass 100.0%
A conditional language within an ordered YAML struct
YAML::Ordered::Conditional is a Perl helper that lets you put simple templating and conditional logic into an ordered YAML document and then compile that template into YAML text, a YAML file, or a native Perl data structure. It provides familiar constructs such as for/each loops, if/elsif/else branches and placeholder substitution so you can generate lists and records from a parameters hash while keeping the original key order intact. The interface is minimal: instantiate with new and use compile to process a YAML template with your parameters, or use the encode/decode helpers to convert between YAML and Perl structures. The module reuses the Struct::Conditional markup style and is handy for Perl developers who need predictable, order-preserving YAML generation for configuration or data templating.
YAML-As-Parsed
Release | 19 Jul 2026 03:34 PM | Author: LNATION | Version: 1.00
Read/Write YAML predictably
YAML::As::Parsed is a lightweight fork of YAML::Tiny that reads and writes YAML while preserving the order of mapping keys. It substitutes Perl's normal unordered hashes with ordered hashes so iterating or rewriting a document returns keys in the same sequence they appeared in the file, which is handy for human-readable configuration files or any situation that needs deterministic output. The module keeps the familiar YAML::Tiny interface so you can use the same simple read/write operations and data access patterns. Recent updates moved the implementation to Tie::OrderedHash for ordering and refreshed tests and minimum Perl requirements.
YAML-Conditional
Release | 19 Jul 2026 03:31 PM | Author: LNATION | Version: 1.03
CPAN Testers: Pass 100.0%
A conditional language within a YAML struct
YAML::Conditional provides a simple templating layer inside YAML so you can embed conditional and looping constructs (for, each, if, elsif, else and key matching) directly in a YAML document and compile it against a parameters hash to produce concrete YAML or a Perl data structure. You write YAML that describes conditional logic and placeholders and then call compile with your input YAML and a params hashref to render a final YAML string, write to a file, or return a Perl struct, while encode and decode methods offer convenient YAML serialization and deserialization. This is useful for generating environment-specific configs, data fixtures, or any YAML-driven output that changes based on input data without writing a separate templating system. Recent releases fixed file handling in decode (v1.01) and removed PAX headers (v1.03).