develooper Front page | perl.module-authors | Postings from November 2005

Re: When CPAN shell cannot find a module

Thread Previous | Thread Next
David Manura
November 23, 2005 19:49
Re: When CPAN shell cannot find a module
Message ID:
Well, I'm glad someone brought this up.

I've always gotten the CPAN shell's "i" and "install" commands mixed up 
and have often wanted to pass a distribution name to it.  First, the 
online help ("?" command) and error messages are not entirely helpful.  
Second, "i" appears too much like a shortcut for "install".  And third, 
the CPAN shell's "install" command very much resembles ActiveState's PPM 
"install" command, but the latter expects you to specify a distribution 
name and also has "i" as a shortcut (you can see why one would get 

  ppm> install DBIx-Simple         # or "i DBIx-Simple"
  # --installs distribution

  ppm> install DBIx::Simple
Searching for 'DBIx::Simple' returned multiple results. Using 'search' 
Searching in Active Repositories
  1. DBIx-Simple      [1.26] Easy-to-use OO interface to DBI
  2. DBIx-Simple-OO   [0.01] Retrieve database rows as objects
  3. DBIx-Simple-OO   [0.01] Retrieve database rows as objects
  4. DBIx-SimpleQuery [0.02] Query databases using as little code as 
  5. DBIx-SimpleQuery [0.02] Query databases using as little code as 

The other gripes I've had about the CPAN shell are it's verbosity (e.g. 
tons of meaningless messages like "LWP not available"), the 
cumbersomeness in figuring out how to fix a broken urllist, and the 
sheer number of questions it asks you when you go to first configure 
it.  I don't want to specify that my pager will be /usr/bin/less.  In 
fact, I don't want to configure anything.  I just want to say "install 
ABC-XYZ" (much like PPM), and _iff_ there is any ambiguity, then prompt 
me with suggestions (help me out a little).  All-in-all, it seems that a 
simple thing like this should be simple:

  "I just want to install ABC-XYZ (i.e. the latest version of this 
distribution, and I don't care how you do it)."

I tried out CPANPLUS tonight, which I read is the next generation CPAN 
shell.  I find some improvements here in terms of online help and 
reduced verbosity.

Cygwin ( has an example of a fairly user-friendly 
installer.  However, even this could be improved: it could ask fewer 
questions (or not repeat them every time it is run), and a 
search/filtering tool would be useful since the Cygwin package list is 
getting quite lengthy.


Christopher Hicks wrote:

> On Mon, 21 Nov 2005, Ken Williams wrote:
>> Think about what would happen if Satan uploaded a malicious 
>> distribution called "PathTools" with a higher version number than 
>> mine.  You'd want the whole world to get Satan's distribution by 
>> default, just so they can save a couple keystrokes?
> Any ambigious situations such as that could easily be handled by 
> asking the user "KWILLIAMS and SATAN both are providing PathTools, 
> which would you like?" or having it spit out a list of choices and let 
> the user implicitly pick by then doing the "install AUTH/dist...gz" at 
> that point. Is there some REAL chance of harm in what we're talking 
> about here that couldn't be trivially ameliorated such as here?
> My previous suggestion of having an explicit mapping would help avoid 
> getting the wrong person's PathTools.  It wouldn't have to track 
> versions in the map since "PathTools" could map to KWILLIAMS/PathTools 
> and determine the latest from that.  And as I pointed out the issue 
> here isn't merely distnames, but common misimpressions.  Being able to 
> "install Template::Toolkit" won't cause the universe to blow-up.
>> Also, "lack of distname support" is overblowing the situation. 
>> Distnames are supported perfectly fine as long as you put it in the 
>> proper syntax with author's ID and version.
> The proper syntax in this case is unnecessarily complex and utterly 
> nonobvious to all but the Perl cognescenti.  That seems a pretty harsh 
> way to treat sysadmins stuck with installing Perl-based applications 
> who may have no prior Perl experience whatsoever.  If there were some 
> real harm in making it easier it might make sense to me, but maybe 
> somebody can share with me something that's not a red herring that 
> will help me get it.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About