package Object; use strict; use warnings; use lib "."; sub new { my ($class) = @_; my $self = { _objectname => $class, }; my @sub_modules = glob("./Object/" . $class . "/*.pm"); # Load sub modules for the class foreach (@sub_modules) { #print $_ . "\n"; my ($pluginName) = $_ =~ /(\w+).pm/; #print "Class: " . $class . "\n"; require "./Object/$class/$pluginName.pm"; } bless $self, $class; return $self; } sub toString { my $self = shift; return $self->{'_objectname'}; }