go ahead... be a heretic | |
PerlMonks |
Need help with clashing method namesby dk (Chaplain) |
on Feb 13, 2009 at 14:13 UTC ( [id://743606]=perlquestion: print w/replies, xml ) | Need Help?? |
dk has asked for the wisdom of the Perl Monks concerning the following question:
Hello monks,
I'll need help with the following problem. Consider we have a class A, that inherits from class C and uses some syntax sugar as defined in B. Here's A:
Here's B:
and here's C:
all three in 3 different files, for example. Now, running that code, surprisingly for me, yields "B::moo" twice, whereas I'd expect that first time it would print "C::moo". As you can see, B::moo is being invoked instead of C::moo. Now, the question. I understand how it works, but I don't know, if there are any good practices to protect A and C from being abused that way? It's a fairly realistic scenario if A doesn't know that C::moo exists at all, or even worse, doesn't exist today but will exist in a newer version of C. It's not uncommon to have third-party modules to export names, but is there a simple technique to import them in a safer manner? Thank you!
Back to
Seekers of Perl Wisdom
|
|