my $local1 = my_module->new(); $local1->func1(); $local1->func2(); my $local2 = my_module->new(); $local2->func1(); $local2->func2(); package my_module; use base qw(a_module); sub func1 { shift->do_something1() } sub func2 { shift->do_something2() } #### sub new { my $class = shift; return bless a_module->new(), ref($class) || $class; }