package Monks; use strict; use warnings; our $VERSION = '0.01'; sub new { my ($class, @args) = @_; my $self = bless { @args } => $class; $self->_init; return $self; } sub _init { my ($self) = @_; eval "require $_[0]->{data}"; } sub _get_data { $_[0]->{data} } sub is_furry { my ($self, $furry) = @_; grep { /$furry/ } @{$self->_get_data->get_furries}; } sub find_fur_texture { my ($self, $fur) = @_; $self->_get_data->get_texture_for->{$fur}; } 1;