My experience with Moose is nil, but how about something like that:<div><br></div><div>my %enum = ( A => 0, B => 1, C => 2);</div><div><br></div><div><div>subtype 'MyEnum',</div><div> as 'Str',</div>
<div> where { exists $enum{$_} },</div><div> message { "Wrong Enum name: $_" };</div><div><br></div><div>And then:</div><div><div>coerce 'MyEnum',</div><div> from 'Int',</div><div>
via { $enum{$_} };</div></div><div><br></div><div>Shmuel.</div><br><div class="gmail_quote">On Wed, Apr 4, 2012 at 3:27 PM, Dov Levenglick <span dir="ltr"><<a href="mailto:dov.levenglick@gmail.com">dov.levenglick@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
I want to declare a 3 value'd enum equivalent - i.e. (mixing C and perl):<br>
<br>
package My::Enum<br>
use Moose;<br>
<br>
typedef enum {A, B, C} enum_t; // knowledge in C - how do I<br>
port this concept to Perl?<br>
has 'b' => (isa => 'enum_t', is => 'rw');<br>
<br>
1;<br>
<br>
<br>
How would one go about doing that<br>
<br>
<br>
Best Regards,<br>
Dov Levenglick<br>
_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br>
</blockquote></div><br></div>