################### # Inside StackExchange.pm ################### sub new { return Net::StackExchange::V2->new(); } ################### # Inside V2.pm ################### sub new { my ($class) = @_; my $self = {}; bless $self, $class; return $self; } sub answers { return Net::StackExchange::V2::Answers->new(); } ################### # Inside Answers.pm ################### sub new { my ($class) = @_; my $self = { auth_token => "", }; bless $self, $class; return $self; } sub getAll { print "All Answers"; } #### ######### # UsageTest.pl ######### use lib("some_path_to_module/Net-StackExchange/lib"); use Net::StackExchange; my $a = Net::StackExchange->new(); my $r = $a->answers->getAl(); print $r; # Using Dumper.. print Dumper($r); #returns => All Answers$VAR1 = 1