Here's a slightly more verbose version of the same thing:
#!/usr/bin/perl -w
use strict;
package foo;
sub new{
my $m = {};
bless $m;
return $m;}
package bar;
sub new{
my $b = {};
bless $b;
return $b;}
sub corny {
return 'sparky';
}
package main;
my $s = foo->new();
my $r = bar->new();
$s->{'spark'} = \&bar::corny;
print $s->{'spark'}();
1;
This essentially calls a method out of a different package. I added the class stuff as window dressing. If you are looking to call and actual method from an instantiated object, just call a function and use a reference to the object as a parameter (called
delegation in certain circles) to call the function. Lastly, use inheritance. If these things don't help, I am not sure what you are attempting to accomplish.
Celebrate Intellectual Diversity