I think the one big problem you are going to face is that CPAN.pm itself is not yet auto-configurable.
While we can probably make sensible choices for most of the normal options, the one big killer so far is mirror auto-selection.
You'd need to write a module of some sort (and then bundle it into your script) that is able to deal with the problem of selecting the "best" mirror to use.
This means some form of implementation of the logic needed to find some appropriate set of 10 or 20 mirrors from the 200 or so, find the ones that aren't out of date, then work out the top two or three fastest ones.
Thanks for this reply. Good thinking and much appreciatied.
I've thought of this issue, but I don't
think I'm going to go so far as to work out the fastest ones. I also have the problem that some users might not be where I am in California and might actually be on other continents. I'll drop that as a requirement right away though. If they are in India, I'll have to ask them to run CPAN manually.