Howdy,
I've been trying to understand the ExtUtils:: modules recently
(especially MakeMaker, but the module relationships too), and I've got a
few questions.
1) Why does the new() method create a new package name (++$PACKNAME)
every time it's run? Under what conditions is new() called more than
once in a single script? I don't think I've ever seen that happen.
2) Most of the initialization code takes place when you 'use
ExtUtils::MakeMaker', not during the new() method. This means that the
initialization data is stored in global variables, rather than as object
member data. This in turn makes it very difficult to subclass
MakeMaker. I would like to try reorganizing this code a bit, and I
hereby solicit abuse for it. ;-) If nothing else, I can make accessor
methods on the class data.
3) I'm curious about why only some MakeMaker methods are overridable in
the MY:: package, and the rest aren't. Wouldn't a simple subclassing
scheme work better, so that people could do whatever they want? I'm
finding it hard to get enough rope to hang myself.
By the way, in order to get familiar with Leon's GraphViz stuff, I
handmade a diagram of the MakeMaker @ISA tree. It's at
http://www.mathforum.com/~ken/perl/MakeMaker-ISA.gif .
------------------- -------------------
Ken Williams Last Bastion of Euclidity
[EMAIL PROTECTED] The Math Forum