package TmpTypes; use strict; use warnings; use MooseX::Types -declare => [qw(NewType)]; use MooseX::Types::Moose qw(Str); subtype NewType, as Str, where {$_ =~ /^new_/}; coerce NewType, from Str, via { 'new_'.$_ };