CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 16 August 2026 08:32 PM
Perl logo

Mojolicious-Plugin-Fondation-Perm-UI-Bootstrap

Release | 16 Aug 2026 06:01 PM | Author: DAB | Version: 0.02
Web UI extension for Fondation::Perm — injects perm checkboxes into group forms
Mojolicious::Plugin::Fondation::Perm::UI::Bootstrap is a lightweight Mojolicious plugin that injects a Bootstrap 5 permission UI into group add/edit modals for apps using Fondation::Perm, so you can present and edit a group's permissions without building the form UI yourself. It adds markup and two small JavaScript helpers: loadPerms(group) fetches available permissions from GET /api/perm and pre-checks those the group already has, and collectPermAssignments() returns the checked permission IDs so your form validation and save logic (for example in DatatableGroup.js) can include the assignments. The permissions block is hidden by default and shown when loadPerms runs, and the plugin is enabled simply from your app config. Recent updates removed the menu icon color and refreshed dependencies in version 0.02.
Perl logo

Mojolicious-Plugin-Fondation-Authorization

Release | 16 Aug 2026 06:01 PM | Author: DAB | Version: 0.02
Authorization plugin — grants loading and check_perm/check_group helpers
Mojolicious::Plugin::Fondation::Authorization is a small Mojolicious plugin that loads a user’s grants (group memberships and derived permissions) from the database once per session and provides simple check_perm and check_group helpers for synchronous access control. On the first authenticated request it kicks off an asynchronous fetch via an around_dispatch hook and stores the results in the Mojolicious session so subsequent requests use the cached grants and do not hit the database. Permissions are inherited through group membership only, so there is no direct user-to-permission table. The plugin relies on companion Fondation plugins for authentication, group and permission DB models and the 0.02 release updates dependencies.
Perl logo

Mojolicious-Plugin-Fondation-Auth

Release | 16 Aug 2026 06:01 PM | Author: DAB | Version: 0.03
Fondation authentication plugin — DBIx-backed login/logout
Mojolicious::Plugin::Fondation::Auth is a ready-made authentication plugin for Mojolicious apps that need simple DBIx::Class backed login and logout. It wires Mojolicious::Plugin::Authentication to a user model provided by the Fondation stack, installs GET/POST /login and GET /logout routes, and supplies helpers like current_user, authenticate, and logout so you can easily show login state in templates. Password hashing uses Argon2id inside the plugin's Result class so the plugin itself only verifies credentials, and the authentication provider is pluggable so you can swap the default DBIx provider for LDAP, OAuth or a custom backend. Configuration options let you change the model name, username and password column names, session timeout and session key, and the plugin ships a default login template and translations for English and French. If you are building a Mojolicious site that stores users in DBIx::Class and want a quick, configurable login system this plugin is a concise, ready-to-use solution.
Perl logo

Mojolicious-Plugin-Fondation-CSRF

Release | 16 Aug 2026 05:59 PM | Author: DAB | Version: 0.01
CSRF protection plugin for Fondation — route condition, OpenAPI integration, JS injection
Mojolicious::Plugin::Fondation::CSRF is a lightweight plugin that adds Cross-Site Request Forgery protection to Fondation-based Mojolicious applications by reusing Mojolicious' built-in CSRF token machinery. It provides three ways to protect routes: an explicit route condition you can attach to individual actions, automatic protection of POST/PUT/PATCH/DELETE routes generated by Fondation::OpenAPI, and a configurable around_dispatch blanket that checks all mutating requests unless a path matches an exemption pattern. Tokens are stored in the session and validated with Mojo's csrf_protect, and the plugin supports standard form tokens and an X-CSRF-Token header for AJAX calls. It ships a small csrf.js that reads a meta-tag token and patches fetch and XMLHttpRequest to inject the header, and it requires sessions to be enabled and a meta tag in your layout (Layout-Bootstrap provides this automatically). Default behavior auto-protects mutating requests but can be disabled or tuned with exemptions, and this package is a brand new initial release (v0.01).
Perl logo

Mojolicious-Plugin-Fondation-Layout-Bootstrap

Release | 16 Aug 2026 05:58 PM | Author: DAB | Version: 0.05
Simple layout plugin for Fondation
Mojolicious::Plugin::Fondation::Layout::Bootstrap is a small plugin that supplies a ready-to-use Bootstrap-based layout for Mojolicious applications using the Fondation conventions, making it easy to adopt a consistent page structure and asset handling without crafting templates from scratch. It integrates with Fondation/Mojolicious asset helpers so CSS and other resources are managed for you, and recent updates added a dedicated render zone for head/css along with tests and dependency adjustments to ensure smoother asset integration. If you want a quick, convention-driven Bootstrap layout for a Mojolicious app, this module gives you that foundation with minimal setup.
Perl logo

Mojolicious-Plugin-Fondation-OpenAPI

Release | 16 Aug 2026 05:53 PM | Author: DAB | Version: 0.04
OpenAPI specification generator and runtime validator for Fondation applications
Mojolicious::Plugin::Fondation::OpenAPI generates an OpenAPI 3.0.3 specification from DBIx::Class models for Fondation applications and provides runtime request validation and optional Swagger UI integration. It offers an "openapi generate" command that writes share/openapi.json and a client-side public/js/validators.js used by Fondation assets, and the app loads the spec at startup via Mojolicious::Plugin::OpenAPI to validate requests and wire route-level permission checks. You can control which database backend is used, override schema and column properties without touching DBIx classes, disable client-side validation for testing, and mark tables as excluded through plugins with fondation_meta. Permission annotations from schemas are translated into route requires so API protection matches HTML routes, and Swagger UI routes are added automatically in development. The plugin depends on Fondation::Model::DBIx::Async and Mojolicious::Plugin::OpenAPI, and there is a known compatibility issue on Perl 5.40 caused by a downstream dependency that can be worked around on Debian by installing libnet-idn-encode-perl. Run openapi generate before asset generation to keep the spec and client validators in sync.
Perl logo

Mojolicious-Plugin-Fondation-Menu

Release | 16 Aug 2026 05:53 PM | Author: DAB | Version: 0.04
Dynamic menu management plugin for Fondation — navbar, breadcrumb
Mojolicious::Plugin::Fondation::Menu is a plugin that gives Mojolicious apps a simple way to declare, store and render navigational menus and breadcrumbs. Plugins declare their menu items in share/menus.json and a provided "menu sync" command imports those items into a small database table so you get hierarchical menus, ordering, parent/child relationships, optional FontAwesome icons, conditional visibility based on group or permission, and per-item metadata like description and whether an item should appear in the menu. The plugin exposes convenient helpers for fetching menus, rendering menus and breadcrumbs, checking conditions, and it also surfaces a RESTful API with create/read/update/delete endpoints and fine-grained menu permissions. It is a good fit if you need centralized, declarative control of navbars and breadcrumbs across a modular Mojolicious app. Recent updates require Fondation::Model::DBIx::Async 0.06 and remove the separate icon color field.
Perl logo

Mojolicious-Plugin-Fondation-I18N

Release | 16 Aug 2026 05:53 PM | Author: DAB | Version: 0.02
Fondation I18N plugin -- JSON-backed localization for the Fondation ecosystem
This plugin adds real dictionary-based internationalization to Fondation apps by replacing the default identity helpers with proper translations. At startup it scans each plugin's share/translations/<lang>.json files, merges them into per-language lexicons kept on the app, and exposes them via a helper so lookups are fast at runtime. For each request it detects the user language from a URL prefix or the Accept-Language header, stores a reference to the right lexicon in the request stash, and the l() helper performs a single hash lookup to return translations. For client-side code it can inject a script with the current language translations and a window.l function, and it also registers an /i18n/<lang>.json endpoint for dynamic loading. You can configure a fallback default language and which language codes are allowed in the URL. Translation files use English strings as keys and are merged at startup with last-write-wins for duplicate keys.
Perl logo

Mojolicious-Plugin-Fondation-Group-UI-Bootstrap

Release | 16 Aug 2026 05:53 PM | Author: DAB | Version: 0.02
Web UI extension for Fondation::Group — injects group checkboxes into user forms
Mojolicious::Plugin::Fondation::Group::UI::Bootstrap is a small UI plugin that adds a Bootstrap 5 web interface for managing user groups in a Mojolicious app that uses the Fondation family of plugins. It is the front end companion to the Fondation::Group backend and automatically injects group controls into existing user add/edit forms, adds a /groups administration page with a DataTable and inline add/edit/delete modals, wires JavaScript helpers to load and gather group assignments, and provides translated labels and a menu entry under Administration. Permission checks are supported so buttons and actions only appear to authorized users. If you already use Fondation::Group and the Bootstrap layout plugin, this module gives you a ready-made, integrated group management UI with minimal wiring.
Perl logo

Mojolicious-Plugin-Fondation-User-UI-Bootstrap

Release | 16 Aug 2026 05:51 PM | Author: DAB | Version: 0.03
Web UI for Fondation::User — templates, assets, and i18n
Mojolicious::Plugin::Fondation::User::UI::Bootstrap is a Mojolicious plugin that provides a ready-made Bootstrap 5 web interface for user management in Fondation-based applications, delivering templates, JavaScript assets, and translations so you can list, create, edit, assign roles or groups, and activate or deactivate users through a DataTable with inline editing and modal dialogs. It registers a GET /users route protected by the fondation.perm => user_list condition and relies on the generic REST actions supplied by Fondation::User while expecting Fondation::Layout::Bootstrap to provide the page layout. The plugin ships EP templates, a DatatableUser.js client module, and English and French lexicons, and it is configurable with a page title that defaults to "User Management". Current release is 0.03 and includes a basic load test and updated dependency declarations.
Perl logo

Mojolicious-Plugin-Fondation-User

Release | 16 Aug 2026 05:51 PM | Author: DAB | Version: 0.04
User management plugin for Fondation
Mojolicious::Plugin::Fondation::User is a user-management add-on for Mojolicious apps using the Fondation framework that supplies a ready-made users table with schema, Result and ResultSet classes, an OpenAPI-driven REST controller for standard CRUD operations, and an optional Bootstrap-based HTML UI. It automatically hashes passwords with Argon2 via Crypt::Passphrase in the async DB worker so the event loop stays responsive and the password field is never returned in API responses. Convenience ResultSet helpers like active, created_today and latest simplify common queries and the with('groups') option performs a single-query prefetch of many-to-many group relations so group objects can be embedded in responses without extra database round trips. API notification translations for English and French are included. Note that recent releases require Fondation::Model::DBIx::Async 0.06.
Perl logo

Mojolicious-Plugin-Fondation-MigrationDBIx

Release | 16 Aug 2026 05:51 PM | Author: DAB | Version: 0.06
Migration and fixture management for DBIx::Class backends
Mojolicious::Plugin::Fondation::MigrationDBIx adds a simple "db" toolset to Fondation apps that use DBIx::Class via Fondation::Model::DBIx::Async, letting you generate and apply schema migrations and load fixture data without leaving your app. It generates upgrade and downgrade SQL from your schema classes, copies plugin-provided fixture directories into the application, detects the database driver from the DSN, and exposes commands such as bootstrap-schema, prepare, install, upgrade, downgrade, status and populate to manage the full migration workflow. A helper reports schema drift between the live database and the prepared migration files and the plugin keeps per-version fixture sets so you can populate test or initial data cleanly. Configuration is minimal, with options for the target backend and migrations directory, and recent updates improve fixture dependency handling and compatibility while aligning this release with Fondation::Model::DBIx::Async 0.06. If you maintain a Mojolicious app backed by DBIx::Class and want integrated, plugin-aware migration and fixture management, this module is directly relevant.
Perl logo

Mojolicious-Plugin-Fondation-Workflow-UI-Bootstrap

Release | 16 Aug 2026 05:50 PM | Author: DAB | Version: 0.02
Bootstrap 5 UI components for Fondation::Workflow
Mojolicious::Plugin::Fondation::Workflow::UI::Bootstrap is a small Mojolicious plugin that provides ready-made Bootstrap 5 UI helpers for Fondation::Workflow so you can display workflow state, available actions, progress and history with minimal effort. It installs five template helpers that accept a Fondation::Workflow::Proxy and return HTML fragments for badges, action button groups, a text-based progress tree and a vertical timeline, while a separate helper emits a raw Mermaid.js flowchart definition for diagram rendering. Labels, colors and icons are driven by a fondation block in your workflow YAML and fall back to sensible defaults when absent. The plugin requires Fondation::Layout::Bootstrap and Fondation::Workflow and is useful for developers who want consistent, Bootstrap-styled workflow interfaces without building the markup by hand.
Perl logo

CPANSA-DB

Release | 16 Aug 2026 03:07 PM | Author: BRIANDFOY | Version: 20260816.002
Upvotes: 4 | CPAN Testers: Pass 79.1%N/A 20.9%
The CPAN Security Advisory data as a Perl data structure, mostly for CPAN::Audit
CPANSA::DB packages the CPAN Security Advisory feed as a ready-to-use Perl data structure and exposes a single db method that returns a hash reference of all advisory reports. It is used by CPAN::Audit but can be used by any Perl program that needs a local, programmatic snapshot of CPAN security advisories. Releases are distributed on GitHub and include a JSON equivalent, GPG signatures, and GitHub attestations so you can verify the archive came from the official source before trusting the data. Use this module when you want an easy, verifiable way to load CPAN advisory data into your Perl code.
Perl logo

HTTP-API-Core

Release | 16 Aug 2026 02:18 PM | Author: SHINGO | Version: 0.01
CPAN Testers: Pass 100.0%
Small foundation for JSON HTTP API cores
HTTP::API::Core is a lightweight, composable foundation for building JSON HTTP API clients in Perl. It centralizes base URL and default header handling, provides convenience methods for common HTTP verbs, and makes JSON encoding and decoding straightforward while letting you configure timeouts and a conservative automatic retry policy with exponential backoff and jitter. The module includes pagination helpers for next-url, page-number, and cursor styles, normalizes common rate-limit headers into a simple rate-limit object, and returns structured errors with useful metadata so callers can decide how to handle failures. Lifecycle hooks let you inject authentication, tracing, or custom headers before requests and inspect responses or errors afterward. The transport layer is pluggable so you can supply a code reference or an object that implements a request method. This 0.01 release also marks a namespace rename from the pre-release HTTP::API::Client project and intentionally keeps higher-level concerns like logging and metrics out of the core so you can build your own service-specific clients on top.
Perl logo

App-cpm

Release | 16 Aug 2026 12:43 PM | Author: SKAJI | Version: v1.1.5
Upvotes: 78 | CPAN Testers: Pass 100.0%
A fast CPAN module installer
App::cpm is a fast command-line CPAN installer for Perl that emphasizes stable, predictable installs by preparing dependency builds first and doing the final installation step separately. It installs requested distributions and their runtime dependency closure, supports cpanfile input and reading module lists from STDIN, and speeds work with parallel build flow and optional prebuilt caches. The tool aims to be more reliable than ad hoc installers when you have large dependency graphs or CI workflows. Recent releases added installer customization and an experimental config option and now include GitHub artifact attestations for release tarballs so you can verify provenance. Use cpm when you want a quick, reproducible way to fetch and install CPAN modules.
Perl logo

Crypt-OpenSSL-PKCS12

Release | 16 Aug 2026 12:34 PM | Author: JONASBN | Version: 1.99
Upvotes: 3 | CPAN Testers: Pass 92.3%N/A 7.7%
Perl extension to OpenSSL's PKCS12 API
Crypt::OpenSSL::PKCS12 is a Perl wrapper around OpenSSL's PKCS#12 functions that makes it easy to load, inspect, extract and create .p12/.pfx bundles from Perl code. You can open a PKCS12 file or binary string and get the end-entity certificate, CA chain and private key as PEM, verify the file MAC, dump human-readable or structured info, and create PKCS12 files or raw DER strings for storage or transport. It implements a useful subset of the OpenSSL PKCS12 API, mirrors many openssl pkcs12 options, and requires a system OpenSSL and Perl 5.14 or newer. Recent updates add OpenSSL 4.0 compatibility and important security fixes, but note that changepass() cannot rekey PBES2-encrypted bundles on OpenSSL 3.x/4.x due to an upstream limitation, so re-creating the bundle is the recommended workaround.
Perl logo

Regexp-Compare

Release | 16 Aug 2026 09:21 AM | Author: VBAR | Version: 0.37
Upvotes: 1 | CPAN Testers: Pass 39.3%N/A 60.7%
Partial ordering for regular expressions
Regexp::Compare provides a simple predicate is_less_or_equal($a,$b) that tells you whether every string matched by one regular expression is also matched by another, which is handy for spotting duplicate or redundant regex rules when optimizing blacklist or pattern sets. You pass the regexes as strings, so include inline modifiers like (?i:pat) rather than using /pat/i syntax. The module works well for straightforward patterns and quick redundancy checks, but it does not handle many advanced Perl regex features. It cannot reliably compare expressions that use Perl code or backreferences, it may fail for locale-specific constructs, it ignores global regex-related variables, character class comparison is simplified and can be incorrect in edge cases, EBCDIC platforms are unsupported, and some unusual but legal constructs can cause it to die.
Perl logo

Lingua-famibeib

Release | 16 Aug 2026 08:33 AM | Author: LION | Version: v0.07
CPAN Testers: Pass 82.8%N/A 17.2%
Module to interact with the famibeib language
Lingua::famibeib is the top-level Perl module for working with famibeib, a constructed language, and it provides the entry point to a small ecosystem for parsing and manipulating famibeib text, sentences, and words. Most users will work with the companion modules Lingua::famibeib::Text for text handling and parsing, Lingua::famibeib::Sentence for sentence-level operations, and Lingua::famibeib::Word for word-level analysis and transformations. The distribution supports parsing number words, verb and modifier handling, prefix queries and improved prefix logic for common particles, and has explicit support for foreign words and experimental name generation. It integrates with common identifier and language interfaces so it can be used alongside other Lingua and Data::Identifier tools. Recent updates added a formal word interface implementation and expanded the set of known classes to include word, modifier, and prefix, making the module more extensible for tooling and generation tasks.
Perl logo

WebDyne

Release | 16 Aug 2026 08:09 AM | Author: ASPEER | Version: 3.014
Upvotes: 1 | CPAN Testers: Pass 68.9%Fail 23.0%Unknown 8.2%
Primary runtime module for the WebDyne framework, with support for standalone `.psp` to HTML rendering
WebDyne is the core runtime and rendering engine for the WebDyne framework that turns ".psp" pages into complete HTML either inside a web runtime like Apache/mod_perl, PSGI, or PAGI or from standalone scripts and tooling. It exposes simple script-facing helpers (html and html_sr) for rendering templates with parameters or writing directly to a filehandle, and it integrates features useful for web apps such as embedded Perl in HTML, compile-time parsing and caching, templating, filters, CGI-style parameter access, and a request abstraction that unifies standalone, PSGI, and PAGI execution. The module is suitable both for running full WebDyne applications under a server and for offline generation, diagnostics, or test utilities via the bundled wdrender helper. Recent maintenance has focused on stability and testing, including normalizing boolean wrapper options so diagnostic dumps are consistent across environments and improving PAGI test diagnostics and wrapper test resilience.
Perl logo

Data-Identifier

Release | 16 Aug 2026 08:00 AM | Author: LION | Version: v0.35
CPAN Testers: Pass 82.4%N/A 17.6%
Format independent identifier object
Data::Identifier provides a single, format‑independent object for working with identifiers such as UUIDs, OIDs, URIs and many well known types (GTIN, IBAN, DOI, Wikidata IDs and more), letting you normalize, compare, convert and generate identifiers without tying your code to one specific string format. It stores both the raw value and its type, can produce alternate representations (uuid, oid, uri, sid, ise), convert identifiers into other objects or packages, generate secure random identifiers, and offer human-friendly metadata like displayname and tagname; it also supports optional registration to deduplicate frequently used identifiers for better runtime performance. Validation and normalization are applied where feasible, but not all invalid values are guaranteed to be rejected, and some advanced features are marked experimental or opt‑in for performance reasons. The module has recently fixed displayname calculation from Data::TagDB::Tag objects and includes a workaround for a bug in I18N::LangTags::List, making name handling more reliable in current Perl releases.
Perl logo

App-Yath-Script

Release | 16 Aug 2026 07:42 AM | Author: EXODIST | Version: 2.000017
CPAN Testers: Pass 89.8%N/A 10.2%
Script initialization and utility functions for Test2::Harness
App::Yath::Script is the startup engine for the yath test harness script, providing the BEGIN-time and runtime entry points (do_begin and do_runtime) that discover project and user configuration (.yath.rc and .yath.user.rc), determine which versioned harness implementation to run (App::Yath::Script::V#), inject development library paths into @INC, and delegate actual execution to the selected version module. It implements a clear version selection policy that accepts an explicit V# on the command line, scans versioned rc files or symlinks walking up from the current directory, checks for a local working-copy V# module, and finally falls back to the highest installed V# in @INC while reserving V0 for explicit validation only, with user-level rc able to override project-level choices. The module also exposes small but useful utilities for scripts and tooling, including retrieving the current script and module names, re-execing the script while preserving include paths, normalizing and resolving filesystem paths, finding files by searching upward through parent directories, and converting module names to file paths. Recent changes modernize version detection to use versioned rc filenames and symlink targets and ensure @INC hooks survive the module's self re-exec cycles, which helps development workflows that rely on custom include hooks.
Perl logo

JQ-Lite

Release | 16 Aug 2026 07:31 AM | Author: SHINGO | Version: 2.50
Upvotes: 8 | CPAN Testers: Pass 92.5%N/A 7.5%
A lightweight jq-like JSON query engine in Perl
JQ::Lite is a pure-Perl, jq-compatible JSON query engine that lets you run familiar jq-style filters and traversals without installing the jq binary or any XS modules. You can use it as a library from Perl code with a simple new/run_query API or as the bundled jq-lite command line tool and REPL, making it useful in minimal containers, restricted servers, CI pipelines, legacy systems, or air-gapped environments. It supports jq-like dot notation, array flattening and indexing, select() predicates, pipe-style chaining, map and transformation helpers, grouping and aggregation functions, string and path utilities, and a long list of built-in helpers so most common jq workflows work the same way. The implementation requires only core JSON::PP or optional faster JSON::XS variants and aims for stable CLI packaging and predictable behavior. The recent 2.50 release documents a stable library API, clarifies public versus internal boundaries, and adds structured exceptions and integration guidance to make embedding JQ::Lite in other applications and distributions safer and easier.
Perl logo

URI-Encode

Favorite | 16 Aug 2026 03:07 AM | Author: MITHUN | Version: v1.1.1
Upvotes: 4 | CPAN Testers: Pass 99.9%Fail 0.1%
Simple percent Encoding/Decoding
URI::Encode is a small, easy-to-use Perl module for percent-encoding and decoding URIs that provides both an object-oriented API and simple functional helpers. By default it preserves reserved characters so links remain human-friendly and clickable in plain text, and it converts input to UTF-8 before encoding; options let you force encoding of reserved characters or prevent double-encoding of already-percent-encoded data. It is handy when preparing URLs for HTTP clients or embedding links in email and is a portable alternative to faster XS-based encoders like URI::Escape::XS. The module depends on Encode and has seen fixes for correct decoding of lower-case percent sequences and for double-encoding behavior, with a recent cleanup removing use of the special $' variable.
Perl logo

Test-JSON-Schema-Acceptance

Release | 16 Aug 2026 12:23 AM | Author: ETHER | Version: 1.038
Upvotes: 2 | CPAN Testers: Pass 100.0%
Acceptance testing for JSON-Schema based validators
Test::JSON::Schema::Acceptance lets Perl projects run the official JSON Schema Test Suite to confirm that a JSON Schema validator implements the specification correctly and interoperates with other implementations. You give it a small adapter callback that validates either Perl data structures or JSON strings and it will run the suite for a chosen draft (draft3 through draft2020-12, v1, or a custom test directory), handle remote resources when needed, mark individual tests as TODO or skip, and produce per-file pass/fail summaries and diagnostic output. It is primarily useful to library authors and integrators who need automated acceptance testing against the canonical test data rather than to general application developers. Recent releases updated the bundled test data and removed a dependency on Ref::Util to simplify installation.
Perl logo

Syntax-Highlight-Basic

Release | 16 Aug 2026 12:05 AM | Author: SPATOCS | Version: v0.1.2
CPAN Testers: Pass 28.8%Fail 48.5%N/A 9.1%Unknown 13.6%
Basic syntax highlighting for code
Syntax::Highlight::Basic is a lightweight, pure-Perl library for turning source code into highlighted output that is easy to embed in web pages or terminals. It builds simplified runtime data from Vim syntax files and then tokenizes code into Vim-compatible highlight groups so you can produce HTML with Pygments-style CSS classes, HTML with inline styles, or ANSI terminal color escapes. You create an instance with optional syntax_dirs to supply custom language data, then call highlight($code, $language, \%opts) to get formatted output and choose format and wrapping. The module includes a fallback tokenizer if no specific language is provided and is geared toward projects that need a simple, portable highlighter without external dependencies.
Perl logo

Media-AssetView

Release | 16 Aug 2026 12:05 AM | Author: PERLANCAR | Version: 0.001
CPAN Testers: Pass 97.4%N/A 2.6%
Handle the Asset-Views directory organization
Media::AssetView helps you organize media repositories by building a parallel Views hierarchy of symlinks from a simple Assets layout so you can browse or serve the same files grouped by attributes like character, product, type or whether AI was used. You keep your actual media in assets/ following a compact naming convention and run the exportable create_views_symlinks function to populate views/ directories without duplicating files. That function is not exported by default and returns an enveloped array with HTTP-like status codes, a reason string and optional payload and metadata so callers can detect success or failure programmatically. This is useful for teams or automation that need to curate, filter or present large photo, audio and video collections using filesystem-level views.
Perl logo

Net-OAuth

Release | 15 Aug 2026 11:54 PM | Author: RRWO | Version: 0.32
Upvotes: 6 | CPAN Testers: Pass 89.3%Fail 10.7%
OAuth 1.0 for Perl
Net::OAuth is a low-level Perl library for composing, signing, parsing and verifying OAuth 1.0 protocol messages, giving you classes for the common request and response types and helpers to serialize to or from Authorization headers, URLs, CGI/Catalyst parameter hashes and POST bodies. It focuses on message construction and signature handling rather than managing tokens or providing a full service provider or consumer framework, so most users building clients will start with Net::OAuth::Client which wraps the usual request-token, authorize and access-token flow. The module supports PLAINTEXT, HMAC-SHA1, HMAC-SHA256 and RSA-SHA1 signatures and handles OAuth 1.0a features and UTF-8 encoding rules; messages can be inspected and manipulated via simple accessors and exported as URL query strings, form bodies or authorization headers. Recent maintenance releases emphasize security and interoperability, notably fixing resource-exhaustion and downgrade behaviors, pinning RSA-SHA1 padding and hash choices to maintain RFC 5849 compatibility, switching to Crypt::SysRandom for nonces, and updating tests and documentation, so it is a safe and practical choice when you need direct control over OAuth message handling in Perl.
Perl logo

MIDI-RtMidi-FFI

Release | 15 Aug 2026 08:50 PM | Author: JBARRETT | Version: 0.13
Upvotes: 2 | CPAN Testers: Fail 100.0%
Bindings for librtmidi - Realtime MIDI library
MIDI::RtMidi::FFI is a thin Perl FFI binding to the RtMidi C library that gives Perl programs low-latency realtime MIDI input and output across platforms such as ALSA, JACK, CoreMIDI and Windows Multimedia. It exposes RtMidi's C API so you can enumerate and open ports, create virtual ports (not on Windows), send and receive raw MIDI messages, and hook a callback or obtain a nonblocking filehandle for integration with event loops. Higher-level conveniences are available via the companion MIDI::RtMidi::FFI::Device class and message encoding/decoding is handled through MIDI::Stream for easier construction and parsing of MIDI events. The module requires librtmidi 4.0.0 or later and while it is functional it is described as alpha software so you should expect occasional instability; the recent 0.13 update added device methods connected_to() and connected_to_name() to report what remote endpoint a port is linked to and included documentation and dependency cleanup.
Perl logo

Litavis

Release | 15 Aug 2026 08:05 PM | Author: LNATION | Version: 0.05
CPAN Testers: Pass 98.4%N/A 1.6%
CSS preprocessor and compiler implemented in C via XS
Litavis is a high-performance CSS preprocessor and compiler written in portable C and exposed to Perl via XS, designed to replace the pure-Perl Crayon with a focus on speed and correctness. It provides familiar preprocessing features such as nested selectors and parent references, variables, mixins and map variables, and it evaluates a range of color functions at compile time while preserving source order and offering cascade-aware deduplication and optional property sorting. You can parse individual files or whole directories, accumulate inputs across parses, emit minified or pretty-printed output, write directly to files and reset state between builds. The engine is packaged as reusable C header files so other XS modules can embed it and the module exports an include_dir helper to locate those headers. The recent 0.05 release includes Windows and Colouring::In::XS related fixes and more robust header discovery, improving cross-platform reliability.