Ken Williams <[EMAIL PROTECTED]> writes:
>>Sub-classing is common - but one sub-classes not MakeMaker but MM_xxxx.
>
>This is difficult to do in practice, 

Not dificult - splice your package into the inheritance list :

package Special::MM;
use vars qw(@ISA);
@ISA = @MM::ISA;
@MM::ISA = qw(Special::MM);

Now PACKXXX -> ... -> MM -> Special::MM -> ...


>because MakeMaker figures out which
>MM_xxx module to load, and you can't make it load a different one unless
>you change MakeMaker.

As I recall MM_xxxx all inherit from MM_unix.


>>>3) I'm curious about why only some MakeMaker methods are overridable in
>>>the MY:: package, and the rest aren't.  
>>
>>MY:: overides ExtUtils::MM_Unix not  ExtUtils::MakeMaker.
>
>Unless I've misunderstood something, MY overrides MM, which overrides
>all of ExtUtils::MM_xxx, ExtUtils::MM_Unix, and ExtUtils::MakeMaker.  So
>MakeMaker is a parent class of MY.
>
>The problem is that no objects of the MY class are ever created -
>instead, the overridable subroutines are manually copied from MY into
>PACK001, etc., so the inheritance from MY to MakeMaker is never actually
>used.

I though PACK001 etc. had MY in their ISA and hence MM, MM_unix, ...
indirectly.

The MakeMaker family use perl's dynamic nature heavily.


>
>
>  -------------------                            -------------------
>  Ken Williams                             Last Bastion of Euclidity
>  [EMAIL PROTECTED]                            The Math Forum
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/

Reply via email to