package M; sub x { print "sub __PACKAGE__x"; } sub y { print "sub __PACKAGE__y"; } 1; package N; $s = 'M::y'; *M::x = eval "&$s"; M::x();