package Enigmatic::ReflectorBox; use DAKKAR::p 'class'; use Enigmatic::Reflector; use Enigmatic::Types 'ReflectorT'; use MooseX::Types::Structured qw(Map); use MooseX::Types::Moose qw(Str); use Moose::Util::TypeConstraints; has reflectorset => ( is => 'ro', isa => Map[Str,ReflectorT], lazy_build => 1, traits => ['Hash'], handles => { get => 'get', }, ); sub _build_reflectorset { my %reflectors = ( B => 'YRUHQSLDPXNGOKMIEBFZCWVJAT', C => 'FVPJIAOYEDRZXWGCTKUQSBNMHL', 'B_thin' => 'ENKQAUYWJICOPBLMDXZVFTHRGS', 'C_thin' => 'RDOBJNTKVEHMLFCWZAXGYIPSUQ', ); $_ = Enigmatic::Reflector->new($_) for values %reflectors; return \%reflectors; }