package MyClass; use strict; sub new($) { my $invocant = shift; my $class = ref($invocant) || $invocant; # object or class name my $self = { }; bless($self, $class); return $self; } sub HelloWorld($) { my $self = shift; print "Hello, World!\n"; } 1; #### use MyClass; use strict; my $pack = MyClass->new(); my $string = "HelloWorld"; $string = ref($pack) . "::$string"; no strict 'refs'; &$string($pack); #### package MySubClass; use strict; our @ISA = qw(MyClass); require MyClass; # All implementation is done by the superclass 1; #### use MySubClass; use strict; my $pack = MySubClass->new(); my $string = "HelloWorld"; $string = ref($pack) . "::$string"; no strict 'refs'; &$string($pack);