#!/usr/bin/perl -l $y='main';$A::y='A';$C::y='C'; package main; sub foo { $y } sub bar { $y } package A; *foo = \&main::foo; *bar = \&main::bar; package C; @C::ISA = 'A'; *bar = \&main::bar; package main; use B 'svref_2object'; my $x = bless {}, 'C'; for (qw(foo bar)) { print "$_ -> ", $x->$_, " from ", svref_2object(UNIVERSAL::can($x, $_))->GV->STASH->NAME; }