in reply to OO Perl is making my brain hurt
I really do feel your pain, but sometimes these things are actually done for a reason. This reason might not be immediately obvious to you, but it's still there. These are exactly the sort of things that should be in documentation so that you know the author did something consciously and for a reason rather than capriciously. Unfortunately, docs are frequently written so far after the fact of programming that the reasons for doing certain things get lost.
Of course, sometimes it's just a poorly designed system and there's no excuse to be made :-) (Calling use within a string eval is kind of odd...)
Another thing is this: Perl's OO implementation is quite low maintenance, so creating a subclass with refactored code (for instance, combining the three methods of Class A from your example) is extremely simple. If something's broke, you can fix it!
Chris
M-x auto-bs-mode
|
|---|