#!/usr/bin/perl use strict; use demo2; use demo1; { &poly("demo1"); } sub poly { my ($temp) = @_; my $object = new $temp; ##A function that is used in both objects $object->test; } #### package demo1; sub new { my $class = shift; my $self = {class => $class}; bless ($self,$class); return $self; } sub test { print "demo1\n"; } 1; #### package demo2; sub new { my $class = shift; my $self = {class => $class}; bless ($self,$class); return $self; } sub test { print "demo2\n"; } 1; #### my $temp = "demo1.pm"; require $templ