Specio::Library::Perl(3) User Contributed Perl Documentation Specio::Library::Perl(3)

# [DESCRIPTION](#DESCRIPTION)

This library provides some additional string types for common cases.

## [PackageName](#PackageName)

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.

## [ModuleName](#ModuleName)

Same as "PackageName".

## [DistName](#DistName)

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 "CGI.pm".

This type does allow Unicode characters.

## [Identifier](#Identifier)

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.

## [SafeIdentifier](#SafeIdentifier)

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

## [LaxVersionStr and StrictVersionStr](#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.

## [CREDITS](#CREDITS)

Much of the code and docs for this library comes from MooseX::Types::Perl, written by Ricardo SIGNES &lt;rjbs@cpan.org&gt;.

2026-10-26 perl v5.44.0

---

Document: Specio::Library::Perl(3pm) from perl-specio 0.53-r7 (Chainguard OS)
Source: https://github.com/houseabsolute/Specio
