CPANscan logo

CPANscan

Recent Perl modules, releases and favorites.
Last updated 3 July 2026 04:31 AM
Perl logo

Net-Nostr

Release | 3 Jul 2026 02:32 AM | Author: NHUBBARD | Version: 2.001000
CPAN Testers: Pass 95.0%N/A 5.0%
Client and relay library for the Nostr protocol
Net::Nostr is a full-featured Perl implementation of the Nostr protocol that lets you build both clients and relays and provides focused helpers for identity, event creation, messaging, storage, and many protocol extensions. The distribution is organized into many purpose-built modules such as Net::Nostr::Key for secp256k1 keypair and signing, Net::Nostr::Event for creating and verifying events, Net::Nostr::Client for WebSocket client connections, and Net::Nostr::Relay for running relay servers, plus dozens of NIP-specific helpers for things like encrypted direct messages, media attachments, lists, badges, and more. It targets a wide range of NIPs up to the 2026-07-01 conformance commit and is suitable for developers building clients, bots, relays, gateways, or embedding Nostr features into apps. Recent releases expanded protocol coverage and tightened validation, adding NIP-29 group identifiers, NIP-43 role definitions and role management checks, NIP-44 extended encryption and NIP-59 ephemeral gift wraps, NIP-78 app-data support, and other conformance and security improvements, and the library also supports secure TLS/wss relay connections.
Perl logo

Test2-Harness

Favorite | 3 Jul 2026 02:27 AM | Author: EXODIST | Version: 1.000172
Upvotes: 22 | CPAN Testers: Pass 72.7%Fail 9.1%N/A 18.2%
A new and improved test harness with better Test2 integration
Test2::Harness is a backend test harness for Perl that runs and processes test files and provides tight integration with the Test2 testing framework. It is meant to be used as a library rather than a direct end user tool, so most people will interact with it through App::Yath which supplies the user interface and configuration built on top of Test2::Harness. The module modernizes and improves test execution for Perl projects, is actively maintained by Chad Granum, and its source code is available on GitHub.
Perl logo

Audio-Nama

Release | 3 Jul 2026 02:19 AM | Author: GANGLION | Version: 1.604
Upvotes: 2 | CPAN Testers: Pass 70.0%N/A 30.0%
Multitrack recorder and digital audio workstation
Audio::Nama is a small Perl toolkit and command-line application for managing, auditioning, and routing audio samples from a terminal. It provides a text-based user interface built on the Tickit UI toolkit, with entry widgets that support completion, a console front end, and helper modules for defining reusable audio objects, global settings, and processing chains. The result is a lightweight, scriptable way for developers, sound designers, and live performers to browse sample libraries, assemble simple processing chains, and control behavior from the shell without a full graphical DAW. If you want a modular, Perl-centered approach to organizing and routing audio in a terminal environment, Audio::Nama is likely relevant.
Perl logo

MetaCPAN-Client

Favorite | 3 Jul 2026 02:18 AM | Author: MICKEY | Version: 2.044000
Upvotes: 29 | CPAN Testers: Pass 93.0%Fail 6.4%N/A 0.6%
A comprehensive, DWIM-featured client to the MetaCPAN API
MetaCPAN::Client is a polished Perl client for the MetaCPAN API that gives you programmatic access to CPAN metadata and search functionality with a DWIM (do what I mean) layer to make common lookups simple. It covers authors, distributions, releases, modules, files, packages, mirrors, covers and CVEs, supports autocomplete, reverse-dependency queries, bulk scrolling of large result sets, POD fetching and download URL resolution, and lets you tune searches with field filtering, raw Elasticsearch filters and scroller options. The client is intentionally lightweight so it works well in scripts, daemons and CLI tools, and it lets you supply a custom user agent to enable caching or different HTTP backends. It is an official MetaCPAN namespace module and aims to implement the full API surface. Note that a recent change (v2.044.000) makes ResultSet items return an array reference, which may affect how you iterate or extract results.
Perl logo

TOML-Tiny

Favorite | 3 Jul 2026 02:08 AM | Author: OALDERS | Version: 0.22
Upvotes: 12 | CPAN Testers: Pass 96.2%N/A 3.8%
A minimal, pure perl TOML parser and serializer
TOML::Tiny is a compact, pure-Perl TOML v1.0 parser and serializer that makes it easy to read and write TOML without extra dependencies. It provides simple functional helpers from_toml and to_toml plus an object API with decode and encode, and aims to be compatible with the older TOML and TOML::Parser interfaces so you can swap it in easily. The module handles common TOML features including inline and multiline strings, tables and arrays, binary/octal/hex integers, and special float values like inf and NaN, and it automatically returns Math::BigInt or Math::BigFloat for numbers that do not fit native Perl types while letting you supply custom inflate hooks for datetimes, booleans, integers and floats to control how values are represented. TOML::Tiny defaults to somewhat stricter parsing than the original TOML module and enforces a few extra rules when strict mode is enabled, and it intentionally only interprets the official TOML escape sequences and ignores invalid surrogate pairs. If you need a lightweight, dependency-free way to work with TOML in Perl and want control over how special types are represented, TOML::Tiny is a practical choice.
Perl logo

Term-ReadLine

Favorite | 3 Jul 2026 02:07 AM | Author: FLORA | Version: 1.14
Upvotes: 10 | CPAN Testers: Pass 100.0%
Perl interface to various readline packages. If no real package is found, substitutes stubs instead of basic functions
Term::ReadLine is a lightweight frontend that offers a consistent, object-oriented API for interactive command-line input in Perl, standardizing access to different ReadLine backends so your program can prompt for input, perform line editing and manage history with methods like new, readline and addhistory. It returns underlying input and output handles and exposes configuration via Attribs and Features so callers can adapt to whatever implementation is loaded, and if no real ReadLine implementation is available it supplies a basic stub so your code still works with reduced capabilities. When a feature-rich backend such as Term::ReadLine::Gnu or Term::ReadLine::Perl is present you get full editing, history and optional extras like event-loop integration, Tk support, terminal ornaments and TTY switching. You can control which backend is used with the PERL_RL environment variable, making Term::ReadLine a practical choice for portable, pluggable interactive input in command-line Perl applications.
Perl logo

Test-Simple

Favorite | 3 Jul 2026 02:05 AM | Author: EXODIST | Version: 1.302222
Upvotes: 201 | CPAN Testers: Pass 99.9%N/A 0.1%
Basic utilities for writing tests
Test::Simple is a tiny, no‑frills testing module that gives you the basics for writing TAP-style tests in Perl. You declare how many tests you plan to run and use ok(expression, name) to produce numbered "ok" or "not ok" lines so test harnesses can report pass or fail. It is ideal for small CPAN modules, quick smoke tests, or developers new to testing and can be replaced by Test::More once you need richer assertions and diagnostics. The module is mature and well maintained, works on very old Perls and is thread-safe on modern ones, and recent maintenance releases have fixed Windows path‑separator test issues and EBCDIC-related problems while improving compatibility with newer Test2 tooling.
Perl logo

Text-AsciidocDown

Release | 2 Jul 2026 10:59 PM | Author: SPATOCS | Version: v0.1.0
CPAN Testers: Pass 88.2%Fail 5.9%N/A 5.9%
Lightweight AsciiDoc to Markdown conversion
Text::AsciidocDown is a lightweight, pure-Perl converter that turns practical AsciiDoc documents into Markdown with minimal dependencies. It exposes a simple object interface with new and convert methods and accepts runtime attributes and a source path so you can control parsing and include resolution. Optionally it can pre-merge local include directives before conversion and supports tag, tags and lines selectors, nesting limits, base directory restrictions and configurable policies for missing files, cycles or bad selectors (error, keep, or drop). The implementation is intentionally conservative about some advanced Asciidoctor include and cross-reference semantics, so it is best suited when you need a straightforward, dependency-light AsciiDoc-to-Markdown tool for typical documents rather than full Asciidoctor compatibility.
Perl logo

Params-Signature

Release | 2 Jul 2026 10:57 PM | Author: SPATOCS | Version: 0.05
CPAN Testers: Pass 94.1%Fail 5.9%
Support for parameter validation based on a subroutine signature, including type declaration, default values, optional parameters, and more
Params::Signature provides flexible, declarative parameter validation for Perl subroutines and methods using simple signature strings that can include type constraints, default values and optional flags. It integrates with common type systems such as Type::Tiny or Moose, accepts CODE refs as constraints, supports coercion and per-parameter callbacks, and can normalize named keys or detect positional versus named arguments with configurable fuzzy behavior. The module exposes convenient entry points like validate and validate_method and returns either a hashref or a list of validated values, making it easy to enforce and document expected parameters. It caches parsed signatures for better performance and is pure Perl, with guidance to use a per-module singleton for optimal speed and safe cooperation with Moo via Type::Tiny. The recent 0.05 release focused on documentation fixes and improved examples and guidance for multi-dispatch in the Manual and related modules.
Perl logo

App-Greple-ical

Release | 2 Jul 2026 10:44 PM | Author: UTASHIRO | Version: 1.00
CPAN Testers: Pass 91.7%N/A 8.3%
Module to support Apple macOS Calendar data
This module lets you search Apple macOS Calendar data from the command line by converting the Calendar.sqlite database into iCalendar VEVENT-like paragraphs that the greple tool can scan. It runs the sqlite3 command to extract events and prints them either as full VEVENT blocks or as compact summaries with the --simple option and extended summaries including descriptions with --detail, and the summarized output is sorted. To use it you need sqlite3 available and your Terminal must have Full Disk Access in macOS Privacy settings so the calendar database can be read. It is a handy read-only way to find calendar events from a shell without opening the GUI Calendar app.
Perl logo

Dancer2-Plugin-OIDC

Release | 2 Jul 2026 09:34 PM | Author: SMOURLHOU | Version: 1.01
CPAN Testers: Pass 96.8%N/A 3.2%
OIDC protocol integration for Dancer2
Dancer2::Plugin::OIDC makes it easy to add OpenID Connect login and OAuth2 token validation to Dancer2 web applications. It lets your app act as an OpenID Connect relying party for user authentication and as an OAuth2 resource server by validating access tokens issued by an external provider. The plugin builds on the OIDC::Client distribution, automatically creates client objects and callback routes from simple configuration for one or more providers, and exposes an oidc() helper that returns an OIDC::Client::Plugin instance bound to the current request and session. Common tasks covered include redirecting users to a provider for sign in, building local user objects from identity claims, validating bearer tokens for API endpoints, and performing token exchange when calling other services. Configuration is declared in your Dancer2 config file with provider ids, secrets, scopes and redirect paths, and the author recommends storing session data and tokens on the server side rather than in client cookies for improved security.
Perl logo

Mojolicious-Plugin-OIDC

Release | 2 Jul 2026 08:49 PM | Author: SMOURLHOU | Version: 1.04
CPAN Testers: Pass 98.6%N/A 1.4%
OIDC protocol integration for Mojolicious
Mojolicious::Plugin::OIDC is a plugin that makes it easy to add OpenID Connect support to a Mojolicious web app, letting your application act as an OpenID Connect Relying Party for user login and as an OAuth 2.0 Resource Server by validating access tokens. It wraps the OIDC-Client distribution, registers an oidc helper that creates client instances and callback routes, and supports configuring one or more providers with client id, secret, well-known endpoints, scopes and claim mappings. Typical uses are redirect-to-login authentication flows, verifying JWT access tokens for API endpoints, and performing token exchanges when calling downstream services. It does not implement an OpenID Provider and the documentation recommends keeping session tokens on the backend rather than in client-side cookies. If you are building a Mojolicious application that needs OIDC-based authentication or token validation this plugin provides a practical, configurable integration.
Perl logo

Catalyst-Plugin-OIDC

Release | 2 Jul 2026 08:17 PM | Author: SMOURLHOU | Version: 1.04
CPAN Testers: Pass 98.2%N/A 1.8%
OIDC protocol integration for Catalyst
Catalyst::Plugin::OIDC makes it easy to add OpenID Connect sign‑in and OAuth2 token validation to a Catalyst web app by letting your application act as an OpenID Connect Relying Party and an OAuth2 Resource Server that accepts tokens from an external provider; it does not implement an identity provider. The plugin leverages the OIDC::Client library to create and manage client instances at application startup, install callback routes, and expose a per-request $c->oidc helper that drives authentication, identity validation, and token-aware API calls. Configuration supports multiple providers, claim mapping and audience aliases, and the documentation includes example flows for redirect-based login, obtaining a validated identity, and exchanging tokens for calling other services. The authors strongly recommend storing access and refresh tokens on the server side rather than in client cookies for security. Recent updates align the module with OIDC::Client v1.07 and refresh the documentation to match upstream changes.
Perl logo

ExtUtils-XSpp

Release | 2 Jul 2026 07:53 PM | Author: MBARBON | Version: 0.19
Upvotes: 9 | CPAN Testers: Pass 100.0%
XS for C++
ExtUtils::XSpp provides XS++ which is a thin preprocessing layer that helps you expose C++ classes and functions to Perl by generating the underlying XS glue code for you. It is driven by .xsp source files or the xspp command and can invoke xsubpp to produce standard XS, supports separate or inline typemap files to control how C++ types convert to Perl values, and can auto-generate object mappings and accessor methods for member variables. XSpp also catches C++ exceptions and translates them into Perl croak errors, supports handling of references, aliases and custom call/return handling via parsed typemaps, and lets you drop in custom XS code where needed. Because it sits on top of plain XS you still need to know C++ and XS/typemaps to use it effectively. If you are binding a C++ library to Perl and want to reduce boilerplate while keeping precise control over type conversions, XSpp is a practical tool.
Perl logo

App-Netdisco

Release | 2 Jul 2026 04:37 PM | Author: OLIVER | Version: 2.101000
Upvotes: 18 | CPAN Testers
An open source web-based network management tool
Netdisco is an open source, web-based network management system that gathers SNMP data into a PostgreSQL database to let administrators discover, map and manage their switched networks. It helps you find a device by MAC or IP and show the exact switch port, change port state, VLAN or PoE settings, build inventory reports by vendor and OS, and produce topology visualizations, all via a built-in web UI and accompanying backend daemon that polls devices. Designed to run on Unix-like servers, it requires Perl and PostgreSQL and works with SNMP-capable switches and routers, offers command-line utilities, a plugin system for customization, and official container images and documentation to simplify installation and upgrades. If you need automated discovery, port-level troubleshooting and centralized hardware inventory for a layer 2/3 network, Netdisco is a mature, community-backed option.
Perl logo

App-Greple

Release | 2 Jul 2026 04:03 PM | Author: UTASHIRO | Version: 10.05
Upvotes: 5 | CPAN Testers: Pass 84.7%N/A 15.3%
Extensible grep with lexical expression and region handling
greple is an advanced, configurable grep-like tool written in Perl that lets you search text with the full power of Perl regular expressions while also extracting and formatting matched regions and blocks. It supports multi-line patterns, pattern files, capture-group indexing, custom output formats and colors, callbacks and plugin modules, and can be used as a filter for processing code, logs or other text-heavy data. The tool is aimed at developers and power users who need more flexible region handling and post-processing than standard grep. The recent 10.05 release adds a -P option to search multiple patterns in parallel using child processes and fixes a UTF-8 block-printing performance issue when producing many matches.
Perl logo

Time-Nanos

Release | 2 Jul 2026 03:31 PM | Author: BAKERSCOT | Version: v0.1.4
CPAN Testers: Pass 85.9%Fail 14.1%
Nanosecond time resolution via clock_gettime()
Time::Nanos is a tiny, easy-to-use Perl extension that gives you high-resolution timestamps by calling the system clock, exposing simple functions nanos, micros and millis to get time in nanoseconds, microseconds or milliseconds. In scalar context each function returns the total units elapsed since the clock epoch and if you pass a true argument you get a two-element list of seconds and subsecond units. You can choose the clock source via the $Time::Nanos::CLOCK variable, which defaults to realtime but can be set to monotonic when you need reliable elapsed-time measurements that are not affected by NTP or user clock changes. The module is suitable for profiling, building stopwatches, or any task that needs submillisecond timing and the recent 0.1.4 release added the seconds-plus-units return option, an externally settable clock choice, Windows high-resolution timer support and a stopwatch example.
Perl logo

YAML-LibYAML

Release | 2 Jul 2026 02:57 PM | Author: TINITA | Version: v0.909.0
Upvotes: 60 | CPAN Testers: Pass 100.0%
Perl YAML Serialization using XS and libyaml
YAML::LibYAML is the Perl wrapper around the libyaml C library, exposed via XS to give fast, standards-aware YAML parsing and generation for Perl programs. It makes it easy to convert Perl data structures to YAML and back with support for anchors, aliases, booleans, regexps and common YAML features and it provides convenient Load, Dump and file helpers. The module is mature and production ready so it is a good choice when performance and fidelity to libyaml matter, and it includes security-minded options such as disabling automatic loading of blessed objects and recent defaults that avoid following cyclic references. Recent releases add experimental object oriented interfaces and improved YAML 1.2 handling along with a new boolean option and various robustness fixes. Note that the CPAN distribution name YAML-LibYAML corresponds to the YAML::XS module so consult YAML::XS documentation for usage examples.
Perl logo

Dezi-App

Release | 2 Jul 2026 01:09 PM | Author: KARMAN | Version: 0.017
Upvotes: 1 | CPAN Testers: Pass 50.0%Fail 50.0%
Build Dezi search applications
Dezi::App is a lightweight convenience wrapper for building search applications with the Dezi toolkit that pulls together an index, an indexer, an aggregator, and indexing configuration into a single App object. You instantiate it with simple parameters like an invindex directory, an indexer shortcut (for example lucy or test), an aggregator shortcut (fs, spider, mail, or mailfs), a config file or object, and an optional filter coderef, and you can enable test_mode to run only the aggregator without touching the index. Call run(paths) with files or URLs that the aggregator understands and it will return the number of documents actually indexed, and the count method reports the indexer count. This module is useful when you want a quick, configurable way to crawl files or mail and index their contents without wiring Dezi components together by hand. Recent releases improved mail aggregator support with FileRules and FileMatch and better attachment handling, fixed dot-file path parsing and CLI docs, and moved CI to GitHub Actions.
Perl logo

Sidef

Release | 2 Jul 2026 12:28 PM | Author: TRIZEN | Version: 26.07
Upvotes: 9 | CPAN Testers: Pass 98.4%N/A 1.6%
The Sidef Programming Language - A modern, high-level programming language
Sidef is a Perl module that embeds the Sidef programming language engine into Perl, so you can parse, compile and execute Sidef code from Perl programs or convert Sidef to Perl for faster execution. The language blends object oriented and functional styles and ships with first class numeric types including arbitrary precision integers, rationals, floats and complex numbers, plus features like multiple dispatch, pattern matching, lazy evaluation, closures and a friendly REPL and CLI. Sidef integrates directly with the CPAN ecosystem, supports AST inspection and transformation, and offers multi-level optimization and optional DBM-backed compilation caching to speed repeated runs. Installation requires a few C libraries for high precision math and optional DBM modules for caching, and the module notes limitations such as cache thread safety, Unicode depending on Perl, and potential performance differences versus native compiled languages. If you want a modern, expressive scripting language tightly integrated with Perl for embedding, configuration, metaprogramming or high-level numeric work, Sidef provides a polished engine with compilation, caching and tooling to make that easy.
Perl logo

Seed-Audio-AI-SiteKit

Release | 2 Jul 2026 12:12 PM | Author: BAIWEI | Version: v0.1.0
CPAN Testers: Pass 100.0%
Small unofficial metadata and URL helpers for Seed Audio AI
Seed::Audio::AI::SiteKit is a tiny helper library that provides easy access to canonical metadata and URLs for the Seed Audio AI site, letting your Perl scripts fetch things like the site homepage or specific pages such as pricing with a single function call. It is lightweight and meant to simplify linking and basic site information lookups inside applications. This module is unofficial and not an SDK for ByteDance, Seed, Volcengine, or any model provider, so it does not implement API calls, authentication, or other service integrations.
Perl logo

JSON-JSONFold

Release | 2 Jul 2026 11:11 AM | Author: YAIRLENGA | Version: v0.2.2
CPAN Testers: Pass 98.9%N/A 1.1%
Hybrid pretty/compact JSON output
JSON::JSONFold reformats pretty-printed JSON into a more compact but still readable layout, collapsing arrays and objects to reduce vertical space while preserving clarity and structure. It can be used as simple functions, an object-oriented formatter, a drop-in replacement for encode_json/to_json, or a streaming post-processor that folds JSON as it is written without buffering the entire document. The module supports configurable presets and per-call overrides for target width, indentation, key sorting and other folding options, and it can report basic formatting statistics when writing to filehandles. The recent 0.2.0 release adds grid layout support for arrays of similar arrays or objects and new presets to present such data in a tabular style, along with improved configuration handling and validation. JSON::JSONFold is a practical choice when you want human-friendly, space-efficient JSON for logs, command-line tools, or files and it integrates with JSON::PP by default for the initial pretty-printing step.
Perl logo

DateTime-Fiction-JRRTolkien-Shire

Release | 2 Jul 2026 10:56 AM | Author: WYANT | Version: 0.910
Upvotes: 1 | CPAN Testers: Pass 100.0%
DateTime implementation of the Shire Calendar from JRR Tolkien's classic, "Lord of the Rings"
DateTime::Fiction::JRRTolkien::Shire is a DateTime-compatible calendar class that models the hobbits' Shire calendar from Tolkien's Lord of the Rings, providing constructors, accessors and arithmetic so you can create, compare, stringify and convert Shire dates to and from epoch or other DateTime objects. It implements the Shire layout of twelve 30-day months plus five special holidays and an extra leap-day holiday, supports weekday and holiday names, strftime formatting via Date::Tolkien::Shire::Data, and duration arithmetic using a dedicated Shire duration class, while exposing almost the full DateTime interface with the one known omission of format_cldr. The module requires DateTime, keeps time-zone and time fields for interoperability, and intentionally uses the modern Gregorian leap-year rule rather than the simpler rule quoted in Appendix D so Shire dates stay aligned with our calendar. If you want to work with Tolkien-style dates in Perl this package handles construction from epoch or other DateTime objects, stringification, localized on_date event text, and arithmetic, and the latest release fixes argument handling so now(), today(), from_epoch() and from_object() properly accept the accented and traditional options documented.
Perl logo

Archive-SCS

Release | 2 Jul 2026 08:49 AM | Author: NAUTOFON | Version: 1.10
CPAN Testers: Pass 18.9%Fail 41.1%N/A 30.0%Unknown 10.0%
Read the contents of SCS union mount archives (HashFS)
Archive::SCS provides a simple API for treating SCS game archives and extracted directories as a single merged filesystem so you can mount multiple archive files or folders, enumerate directories and files, and read entries either by their path or by their hash. It hides archive-format details behind a consistent interface and supports multiple handlers such as directory, HashFS, HashFS2 and ZIP, letting you change which formats are active and powering the bundled scs_archive command line tool. The module is useful when you need to inspect or extract game data across several SCS packages without writing format-specific code, and recent updates (1.10) switched internal hashes to 16-byte hex strings, cut memory use for HashFS v1, and relaxed build requirements to make installation easier. Note that texture object handling is still evolving and may be inconsistent between format handlers.
Perl logo

OIDC-Client

Release | 2 Jul 2026 07:50 AM | Author: SMOURLHOU | Version: 1.07
CPAN Testers: Pass 95.9%N/A 4.1%
OpenID Connect Client
OIDC::Client is a Perl library that implements an OpenID Connect and OAuth 2.0 client, letting your scripts or applications initiate authorization flows, build the provider authorization URL, fetch and refresh tokens, verify JWT ID tokens, introspect opaque tokens, retrieve userinfo, exchange access tokens for different audiences, and create web clients already configured with access tokens for calling protected APIs. It is configuration driven and supports multiple grant types and client authentication methods, claim mapping, automatic JWKS key rotation and helper objects for identities and access tokens, and it is intended for direct use in scripts or via framework plugins for Mojolicious, Catalyst or Dancer2. Recent updates added support for tls_client_auth, stronger startup checks for client authentication, a fix to avoid a Data::UUID-related runtime crash, and integration tests to improve reliability. Use this module when you need a ready-made, configurable OIDC/OAuth2 client in Perl to integrate with identity providers and secure API access.
Perl logo

HTML-Composer

Release | 2 Jul 2026 03:53 AM | Author: RAWLEYFOW | Version: 0.004
CPAN Testers: Pass 100.0%
Compose validated HTML from Perl data structures
HTML::Composer is a Perl library for building validated HTML from nested Perl data structures, inspired by TyXML and Hiccup, so you describe pages as arrays of tag names, optional attribute hashes and child arrays and the module renders tidy HTML or partial fragments. It validates output and will croak if validation fails, escapes text by default while offering an unsafe wrapper for raw insertion, and supports optional caching and compact class lists via attribute arrays. Use it when you want a programmatic, data-driven, high-performance way to produce safe, well-formed HTML from Perl rather than concatenating strings.
Perl logo

Mojolicious-Plugin-BarefootJS

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
Upvotes: 1 | CPAN Testers: Pass 94.1%N/A 5.9%
Mojolicious integration for BarefootJS
Mojolicious::Plugin::BarefootJS makes it easy to run the BarefootJS server-side rendering runtime inside a Mojolicious app by registering a per-request "bf" helper that lazily creates a BarefootJS instance backed by BarefootJS::Backend::Mojo. With the plugin you can render BarefootJS-marked templates as native Mojolicious templates and access the same runtime from controllers and templates, giving you a straightforward way to combine Mojolicious routing and BarefootJS rendering. The plugin wires up the necessary helpers and hooks so the runtime only boots when needed, and if you prefer to run outside Mojolicious there is a BarefootJS::Backend::Xslate backend that drives the runtime with Text::Xslate instead.
Perl logo

BarefootJS-Backend-Xslate

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
CPAN Testers: Pass 94.0%N/A 6.0%
Text::Xslate (Kolon) rendering backend for BarefootJS
BarefootJS::Backend::Xslate is a rendering backend that lets the BarefootJS runtime render Kolon (.tx) templates using Text::Xslate, so you can serve compiled BarefootJS templates from any PSGI/Plack app or from a plain Perl process without tying into a web framework. It binds the runtime into templates as the bf object so helpers emitted by the @barefootjs/xslate compile-time adapter can be invoked directly from templates, and it builds Text::Xslate with HTML auto-escaping enabled while providing mark_raw, encode_json, materialize and render_named hooks the runtime expects. You can pass an existing Text::Xslate instance or supply template paths and options when constructing the backend, making it a straightforward, drop-in way to render Kolon templates from Perl code.
Perl logo

BarefootJS

Release | 2 Jul 2026 01:51 AM | Author: KFLY | Version: v0.17.0
CPAN Testers: Pass 92.5%N/A 7.5%
Engine- and framework-agnostic server runtime for BarefootJS marked templates
BarefootJS is a lightweight server-side runtime for templates compiled from JSX or TSX into marked templates and accompanying client JavaScript. Compiled templates call into a bf runtime object to perform tasks like JSON marshalling, marking raw strings, materializing JSX children, and invoking named templates. The runtime is intentionally engine and framework agnostic and delegates any environment-specific work to pluggable backends so the same core can be used with different template engines or web frameworks. Shippped backends include Xslate for PSGI/Plack and a Mojolicious plugin for Mojo applications. The core relies only on Perl core modules so you only load extra libraries when a chosen backend requires them, making this a good fit if you want a portable, backend-flexible server rendering layer for JSX/TSX-based templates.
Perl logo

SPVM-Resource-Coro

Release | 2 Jul 2026 12:41 AM | Author: KIMOTO | Version: 0.001
CPAN Testers: Pass 87.2%Fail 7.7%N/A 5.1%
Libcoro Resources
SPVM::Resource::Coro is a small resource wrapper that packages the libcoro coroutine context switching C library for use in SPVM native extensions. It provides the coro.h header and coro.c source compiled as C99, auto-detects and supplies the platform-specific compiler flags and defines needed for the correct context switching implementation, and exposes those defines so you can add them into your SPVM builder config. You enable it in your build with use_resource('Resource::Coro') and then pull the resource defines into your config before compiling native code that uses coro_context and related APIs. The bundled code is taken from Coro 6.57 and this SPVM resource was first released in version 0.001.