subtype 'cf_class', => as 'Str', => where { m/a-zA-Z0-9/ }, => message { 'Not a valid cf class' }; has 'class' => { is => 'rw', isa => 'cf_class' }; #### Usage: has 'name' => ( key => value, ... ) at /home/neil/perl5/lib/perl5/x86_64-linux-thread-multi/Moose.pm line 74. Moose::has('Moose::Meta::Class=HASH(0x2b9fe98)', 'class', 'HASH(0x2a9ef98)') called at /home/neil/perl5/lib/perl5/x86_64-linux-thread-multi/Moose/Exporter.pm line 382