The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Specio::Library::Perl - Implements type constraint objects for some common Perl language things


version 0.48


This library provides some additional string types for common cases.


A valid package name. Unlike the ClassName constraint from the Specio::Library::Builtins library, this package does not need to be loaded.

This type does allow Unicode characters.


Same as PackageName.


A valid distribution name like DBD-Pg Basically this is the same as a package name with the double-colons replaced by dashes. Note that there are some historical distribution names that don't fit this pattern, like

This type does allow Unicode characters.


An Identifier is something that could be used as a symbol name or other identifier (filehandle, directory handle, subroutine name, format name, or label). It's what you put after the sigil (dollar sign, at sign, percent sign) in a variable name. Generally, it's a bunch of word characters not starting with a digit.

This type does allow Unicode characters.


This is just like an Identifier but it excludes the single-character variables underscore (_), a< and b, as these are special variables to the Perl interpreter.

LaxVersionStr and StrictVersionStr

Lax and strict version strings use the is_lax and is_strict methods from version to check if the given string would be a valid lax or strict version. version::Internals covers the details but basically: lax versions are everything you may do, and strict omit many of the usages best avoided.


Much of the code and docs for this library comes from MooseX::Types::Perl, written by Ricardo SIGNES <>.


Bugs may be submitted at


The source code repository for Specio can be found at


Dave Rolsky <>


This software is Copyright (c) 2012 - 2022 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.