The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CPANPLUS::Shell::Default - Default command-line interface for CPAN++

SYNOPSIS

To begin use one of these two commands. This will start your default shell, which, unless you modified it in your configuration, will be CPANPLUS::Shell::Default.

    cpanp

    perl -MCPANPLUS -e 'shell'

Shell commands:

    CPAN Terminal> h

    CPAN Terminal> s verbose 1
    CPAN Terminal> e /home/kudra/perllib

    CPAN Terminal> m simple tcp poe
    CPAN Terminal> i 22..27 /A/AL/ALIZTA/Crypt-Enigma-0.01.tar.gz 6 DBI-1.20

    CPAN Terminal> u Acme::POE::Knee 21

    CPAN Terminal> a damian

    CPAN Terminal> t Mail::Box

    CPAN Terminal> c DBI

    CPAN Terminal> r POE

    CPAN Terminal> d XML::Twig

    CPAN Terminal> l DBD::Unify

    CPAN Terminal> f VROO?MANS$ DCROSS

    CPAN Terminal> ! die 'wild rose';
    CPAN Terminal> p /tmp/cpanplus/errors

    CPAN Terminal> o
    CPAN Terminal> i *

    CPAN Terminal> x

    CPAN Terminal> q

DESCRIPTION

CPANPLUS::Default::Shell is the default interactive shell for CPAN++. If command-line interaction isn't desired, use CPANPLUS::Backend instead.

You can also use CPANPLUS::Backend to create your own shell if this one doesn't suit your tastes.

COMMANDS

h|?

Help lists available commands and is also the default output if no valid command was given.

q

Quit exits the interactive shell.

m MODULE [MODULE]

This command performs a case-insensitive match for a module or modules. Either a string or a tailored regular expression can be used. For example:

  • m poe

    This will search for modules matching the regular expression /poe/i.

  • m poe acme

    This will search for modules matching /(poe)|(acme)/i.

  • m ^acme::.*

    This search would look for all Acme submodules.

The list of matching modules will be printed in four columns. For example:

    1 Acme::Pony                1.1   DCANTRELL
    2 Acme::DWIM                1.05  DCONWAY

These columns correspond to the assigned number, module name, version number and CPAN author identification. Assigned numbers can be used for a subsequent commands, either singly (2) or inclusively (1..2). Numbers are reassigned for each search.

If no module version is listed, the third field will be undef.

a AUTHOR [AUTHOR]

The author command performs a case-insensitive search for an author or authors. A string or a regular expression may be specified; both CPAN author identifications and full names will be searched. For example:

  • a ingy bergman

  • a ^michael

This command gives the same output format as the module command. Sometimes the output may not be what you expected. For instance, if you searched for jos, the following listing would be included:

    1 Acme::POE::Knee           1.02  KANE

This is because while the CPAN author identification doesn't contain the string, it is found in the module author's full name (in this case, Jos Boumans). There is currently no command to display the author's full name.

i MODULE|NUMBER|FILENAME [MODULE|NUMBER|FILENAME]

This command installs a module by its case-sensitive name, by the path and filename on CPAN, or by the number returned from a previous search. Distribution names need only to be complete enough for distinction. That is to say, DBI-1.20 is sufficient; the author can be deduced from the named portion.

Examples:

  • i CGI::FormBuilder

  • i /K/KA/KANE/Acme-POE-Knee-1.10.zip

  • i DBI-1.20

  • i 16..18 2

    This example would install results 16 through and including 18 and 2 from the most recent results.

  • i *

    This would install all results.

Install will search, fetch, extract and make the module.

t MODULE|NUMBER|FILENAME [MODULE|NUMBER|FILENAME]

This command is exactly the same as the i above, only it will not actually install modules, but will stop after the make test step. Unlike the i command, it performs on modules that are already installed, even if the force flag is set to false.

u MODULE|NUMBER [MODULE|NUMBER]

This command will uninstall the specified modules (both program files and documentation). Modules can be specified by their case-sensitive names, or by the numbered result from the last search.

c MODULE|NUMBER|FILENAME [MODULE|NUMBER|FILENAME]

This command fetches test results from the CPAN tester's website at http://testers.cpan.org and displays the results for the most recent version of a module, specified by its case-insensitive name, or by the number of a previous search.

If passed the path and filename of the module, it will display the test results for the version specified.

r MODULE|NUMBER|DIST [MODULE|NUMBER|DIST]

The read command displays the readme for the specified module or distribution. It accepts the case-sensitive name of the module or a number from a previous result, and can accept multiple arguments.

d MODULE|NUMBER|FILENAME [MODULE|NUMBER|FILENAME]

This command will download the module or modules in the current directory. It is case sensitive. Like install, it can also accept a fully qualified file name from a CPAN mirror, relative to the /authors/id directory. All file names should begin with a /.

  • d CGI::FormBuilder

  • d /K/KA/KANE/Acme-POE-Knee-1.10.zip

e DIRECTORY [DIRECTORY]

This command adds directories to your @INC. CPAN++ will check to see if modules are already installed on your system, so if there is a custom library directory it should be specified. Examples:

  • e /home/ann/perl/lib

  • e 'C:\Perl Lib' C:\kane

l MODULE|NUMBER|DIST [MODULE|NUMBER|DIST]

This command lists detailed information about a module or distribution.

  • l Net::FTP

Example output from the list command:

    Details for Net::FTP:
    Description          Interface to File Transfer Protocol
    Development Stage    Alpha testing
    Interface Style      plain Functions, no references used
    Language Used        Perl-only, no compiler needed
    Package              libnet-1.09.tar.gz
    Support Level        Developer
    Version              2.61

f AUTHOR [AUTHOR]

This command gives a listing of distribution files by the author or authors specified. It accepts a case-insensitive regular expression.

  • f ^KANE$

Output from the previous command would look like this:

    1 Acme-POE-Knee-1.00.zip    12230 KANE
    2 Acme-POE-Knee-1.01.zip    14246 KANE
    3 Acme-POE-Knee-1.02.zip    12324 KANE
    4 Acme-POE-Knee-1.10.zip     6625 KANE
    5 CPANPLUS-0.01.tar.gz     120689 KANE
    6 CPANPLUS-0.02.tar.gz     121967 KANE

The first column is the search result number, which can be used for subsequent commands. Next is name of the distribution, the third column is the file's size, and the fourth is the CPAN author id.

s [conf | save | OPTION VALUE]

The set command can be used to change configuration settings. If there are no arguments, current settings are displayed.

s conf will let the user go through the configuration process again, and save the settings to CPANPLUS::Config.

s save will save the current settings for this session.

The OPTION VALUE form will override current settings for this session; they will be cleared away when the Shell exits. Available options are:

  • cpantest 0|1

    Disable or enable the CPAN test reporting feature.

  • debug 0|1

    Disable or enable debugging mode.

  • flush 0|1

    Flush will automatically flush the cache if enabled.

  • force 0|1

    If enabled, modules which fail make test will be forced to attempt installation.

  • makeflags FLAG [FLAG]

    Add flags to the make command. For example, /C on win32.

  • makemakerflags FLAG [FLAG]

    Add flags to the perl Makefile.PL command.

  • md5 0|1

    Disable or enable md5 checks.

  • prereqs 0|1|2

    Zero disallows prerequisites, 1 allows them, and 2 offers a decision prompt for each prerequisite.

  • storable 0|1

    Set to 1 to use storable.

  • verbose 0|1

    Suppress or inform of messages about actions being taken.

  • lib DIR [DIR]

    Allows directories to be added and used as 'use lib.'

p [FILE]

This allows the printing of stored errors, either to standard out or the specified file.

It is useful to include this output when reporting a bug.

o

This command lists installed modules which are out-of-date.

Example output:

    1   0.05     0.06   Acme::ComeFrom         AUTRIJUS
    2   1.01     1.07   Acme::EyeDrops         ASAVIGE
    3   1.00     1.01   Acme::USIG             RCLAMP
    4   2.04     2.1011 DBD::mysql             JWIED
    5   1.13     1.15   File::MMagic           KNOK

The first column is the search result number, which can be used for subsequent commands. Next is the version you have installed, followed by the latest version of the module on CPAN. Finally the name of the module and the author's CPAN identification are given.

x

This command refetches and reloads index files regardless of whether your current indices are up-to-date or not.

!

This command evals all input after it as perl code, and puts any errors in the error stack.

AUTHORS

This module by Jos Boumans <kane@cpan.org> and Joshua Boschert <jambe@cpan.org>.

This pod text by Ann Barcomb <kudra@cpan.org>.

COPYRIGHT

The CPAN++ interface (of which this module is a part of) is copyright (c) 2001, 2002 Jos Boumans <kane@cpan.org>. All rights reserved.

This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.

ACKNOWLEDGMENTS

Andreas Koenig <andreas.koenig@anima.de> authored the original CPAN.pm module.

SEE ALSO

CPANPLUS::Backend, CPANPLUS, http://testers.cpan.org