Uniform

Uniform is the specification and utility anchor for the Uniform Perl ecosystem.

The Uniform namespace is intended to make reusable web and protocol components less dependent on a particular framework, event loop, transport, or deployment model.

Some Uniform distributions provide portable protocol or domain objects. Others provide explicit adapters for specific frameworks. The goal is to keep application logic portable while making framework-specific behavior clear and intentional.

Install

Install the distribution from CPAN:

cpanm Uniform

or with the CPAN client:

cpan Uniform

What this distribution provides

This distribution contains:

Most application-facing features live in companion distributions under the Uniform:: namespace.

Design rules

Uniform components follow a few basic rules:

See the POD for Uniform for the complete component specification.

Example

Shared utilities can be used independently:

use Uniform::Utils qw(parse_size_limit);

my $bytes = parse_size_limit('2M');

Companion distributions

Examples in the Uniform ecosystem include:

Each companion distribution documents its own supported interfaces and adapters.

Repository

Development repository:

https://github.com/haxmeister/perl-Uniform

Issues:

https://github.com/haxmeister/perl-Uniform/issues

Author

Joshua S. Day HAX@cpan.org

License

This software is Copyright (c) 2026 by Joshua S. Day.

This is free software, licensed under the MIT License.