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

# [DESCRIPTION](#DESCRIPTION)

This library provides a set of types parallel to those provided by Moose.

The types are in the following hierarchy

```
  Item
      Bool
      Maybe (of `a)
      Undef
      Defined
          Value
              Str
                  Num
                      Int
                  ClassName
          Ref
              ScalarRef (of `a)
              ArrayRef (of `a)
              HashRef (of `a)
              CodeRef
              RegexpRef
              GlobRef
              FileHandle
              Object
```

## [Item](#Item)

Accepts any value

## [Bool](#Bool)

Accepts a non-reference that is "undef", an empty string, 0, or 1. It also accepts any object which overloads boolification.

## [Maybe (of \`a)](#Maybe_%28of_)

A parameterizable type which accepts "undef" or the type "\`a". If not parameterized this type will accept any value.

## [Undef](#Undef)

Only accepts "undef".

## [Value](#Value)

Accepts any non-reference value.

## [Str](#Str)

Accepts any non-reference value or an object which overloads stringification.

## [Num](#Num)

Accepts nearly the same values as "Scalar::Util::looks\_like\_number", but does not accept numbers with leading or trailing spaces, infinities, or NaN. Also accepts an object which overloads numification.

## [Int](#Int)

Accepts any integer value, or an object which overloads numification and numifies to an integer.

## [ClassName](#ClassName)

Accepts any value which passes "Str" where the string is a loaded package.

## [Ref](#Ref)

Accepts any reference.

## [ScalarRef (of \`a)](#ScalarRef_%28of_)

Accepts a scalar reference or an object which overloads scalar dereferencing. If parameterized, the dereferenced value must be of type "\`a".

## [ArrayRef (of \`a)](#ArrayRef_%28of_)

Accepts a array reference or an object which overloads array dereferencing. If parameterized, the values in the arrayref must be of type "\`a".

## [HashRef (of \`a)](#HashRef_%28of_)

Accepts a hash reference or an object which overloads hash dereferencing. If parameterized, the values in the hashref must be of type "\`a".

## [CodeRef](#CodeRef)

Accepts a code (sub) reference or an object which overloads code dereferencing.

## [RegexpRef](#RegexpRef)

Accepts a regex object created by "qr//" or an object which overloads regex interpolation.

## [GlobRef](#GlobRef)

Accepts a glob reference or an object which overloads glob dereferencing.

## [FileHandle](#FileHandle)

Accepts a glob reference which is an open file handle, any "IO::Handle" Object or subclass, or an object which overloads glob dereferencing and returns a glob reference which is an open file handle.

## [Object](#Object)

Accepts any blessed object.

2026-07-17 perl v5.44.0

---

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