__START_OF_COMMON_LIB_FILE__ package Class1; sub new { return bless({}, 'Class1'); } sub method_1 { print "I'm method 1!\n"; } package Class2; sub new { return bless({}, 'Class2'); } sub method_2 { print "I'm method 2!\n"; } 1; __END_OF_COMMON_LIB_FILE__ #### use lib 'C:\tmp'; use CommonLib; my $class1_obj = Class1->new; my $class2_obj = Class2->new; $class1_obj->method_1; $class2_obj->method_2; #### D:\tmp>tmp.pl I'm method 1! I'm method 2! D:\tmp> #### use CommonLib; my $class1_obj = Class1->new; my $class2_obj = Class2->new; $class1_obj->method_2; $class2_obj->method_1; #### D:\tmp>tmp.pl Can't locate object method "method_2" via package "Class1" at D:\tmp\tmp.pl line 10. D:\tmp> #### package Class1; package Class2; sub foo { }