My experience with Moose is nil, but how about something like that:<div><br></div><div>my %enum = ( A =&gt; 0, B =&gt; 1, C =&gt; 2);</div><div><br></div><div><div>subtype &#39;MyEnum&#39;,</div><div>      as &#39;Str&#39;,</div>
<div>      where { exists $enum{$_} },</div><div>      message { &quot;Wrong Enum name: $_&quot; };</div><div><br></div><div>And then:</div><div><div>coerce &#39;MyEnum&#39;,</div><div>      from &#39;Int&#39;,</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">&lt;<a href="mailto:dov.levenglick@gmail.com">dov.levenglick@gmail.com</a>&gt;</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&#39;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 &#39;b&#39; =&gt; (isa =&gt; &#39;enum_t&#39;,  is =&gt; &#39;rw&#39;);<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>