# from David Nicol (on module-authors) on Sunday 18 April 2010 13:14: >Once upon a time, CPAN was supposed to hold applications as well as > modules. There were so many more modules than applications that > indexing and so on tools for modules entirely eclipsed applications.
This prompted me to dust off an old unfinished thread: It seems like there should be some way to say e.g. "install bin/ack" or "install bin/padre" and get the latest App::Ack or Padre. # from Andreas J. Koenig on Friday 05 September 2008 00:00: # Re: addressing scripts as/within distributions >The lack of excitement about the scripts category is as old as CPAN. > >Part of the reason may be that it's so dead easy to wrap a script into >a module distro that everybody does it. > .... >Problem solved, isn't it? My example case is a distro sans module, so can that be a distro if we define something in META.yml for a list of programs contained? The scripts directory doesn't give you any room for tests or room to grow and has no META.yml, etc. The .pl file is just very different from the .tar.gz distro and that means two sets of rules for the author to remember. If we can define a script-only distro as a subset of the module+script distro case, I think it will be more familiar to everyone. But even with module+script, there should be some way to address the distro by the scripts it provides. >> Is that part of the 02 index or something else? > >02index certainly not. I don't know what else. Nobody has ever made a >progress on scripts support. I don't have a clue how it would look >like. Maybe just one index file more, maybe pulling data from >META.yml. Maybe a new command for the cpan shell, like installprg or >something. > >If the whole thing works such that from the user perspective the two >things do indistinguishably the same: > > install CPAN::Testers::ParseReports >or > installprg ctgetreports > >then I'd say we gain something. Yes. What has to happen to make this possible? I would guess: * META.yml key gets defined * indexer checks META.yml, creates a new index * client gets a new command/index Thanks, Eric -- Introducing change is like pulling off a bandage: the pain is a memory almost as soon as you feel it. --Paul Graham --------------------------------------------------- http://scratchcomputing.com ---------------------------------------------------