# phpman > perldoc > Specio::Library::Perl

## NAME
    [Specio::Library::Perl](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3ALibrary%3A%3APerl/markdown) - Implements type constraint objects for some common Perl language things

## VERSION
    version 0.47

## 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](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3ALibrary%3A%3ABuiltins/markdown)
    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](https://www.chedong.com/phpMan.php/perldoc/version%3A%3AInternals/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3APerl/markdown), written by Ricardo
    SIGNES <<rjbs@cpan.org>>.

## SUPPORT
    Bugs may be submitted at <<https://github.com/houseabsolute/Specio/issues>>.

    I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".

## 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 - 2021 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.

