NAME

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

VERSION

version 0.49

DESCRIPTION

This library provides some additional string types for common cases.

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

Same as PackageName.

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

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

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.

CREDITS

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

SUPPORT

Bugs may be submitted at https://github.com/houseabsolute/Specio/issues.

SOURCE

The source code repository for Specio can be found at https://github.com/houseabsolute/Specio.

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 - 2024 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.