#!/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