#file Interface1.pm package Interface1; sub foo { return "I am one!\n"; } 1; #file Interface2.pm package Interface2; sub foo { return "I am two!\n"; } 1; #file script.pl use strict; use warnings; use Interface1; use Interface2; my $interface; $interface = "Interface1"; print $interface->foo(); $interface = "Interface2"; print $interface->foo();