Yesterday, I was trying out a perl of shady origin on my work PC, and while I was dabbling in the CPAN shell, suddenly, to my suprise, when I tried installing a module, it me showed the following message:
The required 'nmake' executable not found, fetching it...
Fetching 'Nmake15.exe' from download.microsoft.com... done!
I was baffled. I never had expected that. This is so cool!
It made me start dreaming again of a completely autonomously selfconfiguring installation system. Searching for a proper list of CPAN mirrors, without any help from the user, for example.
I know there have been a few attempts on creating an automated tool, but I don't think any ever came out of the beta stage.
There are basically two ways to achieve this goal:
- Figuring out where in the world you are. But that requires either use of a not-really-free database, like the one from Geo::IP, or the cooperation of a website that can tell your system where you are. I thought perl.com used to do this a long time ago, on the URL http://www.perl.com/CPAN-local, which still does something, though I have no idea what. It'd be nice if perl.org or cpan.org would do that.
- Alternatively, try using ping, tracert/traceroute and related tools, to find a few nearby and responsive CPAN mirrors.
Neither of these look like the complete solution to me.
I do think that it would be helpful if the list of mirrors that CPAN.pm retrieves from CPAN, was to contain a rating for the mirrors, based on responsiveness, speed, available bandwidth, and last but not least: up-to-date-ness.
Update: Half of my time on CPAN, I'm on search.cpan.org. That always made me wonder: does search.cpan.org make use worldwide mirroring, too?