EG/DB.pm
EG/DB/
EG/DB/Access.pm
EG/DB/Clients.pm
EG/DB/Vendors.pm
EG/DB/Employees.pm
EG/Example.pm
####
package EG::DB.pm;
use DBI;
sub new { db connection happens here }
sub commit {...}
package EG::DB::Access.pm
use base 'EG::DB::Clients';
use base 'EG::DB::Vendors';
use base 'EG::DB::Employees';
package EG::DB::Clients;
use base 'EG::DB';
sub get_client_id_for_username { ... }
package EG::Example;
use EG::DB::Access;
my $dbh = EG::DB::Access->new();
my $client_id = $dbh->get_client_id_for_username($client_username);
##
##
EG::Example->get_client_id_for_username()
##
##
EG::DB::Access (no match)
EG::DB::Clients (no match)
EG::DB::Vendors (no match)
EG::DB::Employee (match)
##
##
EG::DB::Access (no match)
EG::DB::Clients (no match)
EG::DB::Vendors (no match)
EG::DB::Employee (no match)
EG::DB (match)