package Foo; sub foo {} package Bar; @Bar::ISA = 'Foo'; sub bar {} package main; my $bar = bless {}, 'Bar'; my $foo = $bar->can( 'foo' ); my $fooinbar = do { no strict 'refs'; my $subname = ref $foo . '::foo'; \&{ ref $foo . '::foo' } if defined *{ $subname }{CODE}; }; print "$foo -> $fooinbar\n";