The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


MooseX::Types::Util - Common utility functions for the distribution


version 0.50


This package the exportable functions that many parts in MooseX::Types might need.



Takes a list and returns two references. The first is a hash reference containing the tags as keys and the number of their appearance as values. The second is an array reference containing all other elements.


  TypeConstraint | Undef = has_available_type_export($package, $name);

This function allows you to introspect if a given type export is available at this point in time. This means that the $package must have imported a type constraint with the name $name, and it must be still in its symbol table.

Two arguments are expected:


The name of the package to introspect.


The name of the type export to introspect.

Note that the $name is the exported name of the type, not the declared one. This means that if you use Sub::Exporters functionality to rename an import like this:

  use MyTypes Str => { -as => 'MyStr' };

you would have to introspect this type like this:

  has_available_type_export $package, 'MyStr';

The return value will be either the type constraint that belongs to the export or an undefined value.


MooseX::Types::Moose, Exporter


Bugs may be submitted through the RT bug tracker (or

There is also a mailing list available for users of this distribution, at

There is also an irc channel available for users of this distribution, at #moose on


Robert "phaylon" Sedlacek <>


This software is copyright (c) 2007 by Robert "phaylon" Sedlacek.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.