[Israel.pm] Moose question

Shmuel Fomberg shmuelfomberg at gmail.com
Tue Apr 3 23:40:46 PDT 2012


My experience with Moose is nil, but how about something like that:

my %enum = ( A => 0, B => 1, C => 2);

subtype 'MyEnum',
      as 'Str',
      where { exists $enum{$_} },
      message { "Wrong Enum name: $_" };

And then:
coerce 'MyEnum',
      from 'Int',
      via { $enum{$_} };

Shmuel.

On Wed, Apr 4, 2012 at 3:27 PM, Dov Levenglick <dov.levenglick at gmail.com>wrote:

> Hi,
> I want to declare a 3 value'd enum equivalent - i.e. (mixing C and perl):
>
> package My::Enum
> use Moose;
>
> typedef enum {A, B, C} enum_t;            // knowledge in C - how do I
> port this concept to Perl?
> has 'b' => (isa => 'enum_t',  is => 'rw');
>
> 1;
>
>
> How would one go about doing that
>
>
> Best Regards,
> Dov Levenglick
> _______________________________________________
> Perl mailing list
> Perl at perl.org.il
> http://mail.perl.org.il/mailman/listinfo/perl
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.perl.org.il/pipermail/perl/attachments/20120404/e02f36a4/attachment.htm 


More information about the Perl mailing list