package Monks; use strict; use warnings; use Monks::Data; BEGIN { use Exporter; our $VERSION = 0.01; our @ISA = qw(Exporter); } sub version { $Monks::VERSION } sub new { my $class = shift; my $self = { @_ }; bless $self, $class; return $self; }; sub check_fluffy { my $self = shift; return 'Yes' if (grep /$_[0]/, @Monks::Data::Fluffy); return 'No'; } sub find_fur_texture { my $self = shift; return "$Monks::Data::Textures{$_[0]}" if (defined $Monks::Data::Textures{$_[0]}); } 1; #### package Monks::Data; use strict; use warnings; use parent 'Monks'; BEGIN { use Exporter (); our $VERSION = 20160808.00; our @ISA = qw(Exporter); } sub version { $Monks::Data::VERSION; } our @Fluffy = qw(Rabbits Minks Cats); our %Textures = ( Rabbits => 'soft', Minks => 'supersoft', Cats => 'coarse', ); 1; #### #!/usr/bin/perl use strict; use warnings; use Monks; my $object = Monks->new; for my $animals ( qw(Cats Alligators Rabbits) ) { print "Checking if $animals are furry:\n"; print $object->check_fluffy("$animals"), "\n\n"; } print "Fur texture for Cats: ", $object->find_fur_texture('Cats'), "\n"; exit 0; #### Checking if Cats are furry: Yes Checking if Alligators are furry: No Checking if Rabbits are furry: Yes Fur texture for Cats: coarse