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

NAME

App::perlbrew - Manage perl installations in your $HOME

SYNOPSIS

    # Initialize
    perlbrew init

    # pick a prefered CPAN mirror
    perlbrew mirror

    # Install some Perls
    perlbrew install perl-5.12.1
    perlbrew install perl-5.8.1
    perlbrew install perl-5.11.5

    # See what were installed
    perlbrew installed

    # Switch perl in the $PATH
    perlbrew switch perl-5.12.1
    perl -v

    # Switch to another version
    perlbrew switch perl-5.8.1
    perl -v

    # Switch to a certain perl executable not managed by perlbrew.
    perlbrew switch /usr/bin/perl

    # Or turn it off completely. Useful when you messed up too deep.
    perlbrew off

    # Use 'switch' command to turn it back on.
    perlbrew switch perl-5.12.1

DESCRIPTION

perlbrew is a program to automate the building and installation of perl in the users HOME. At the moment, it installs everything to ~/perl5/perlbrew, and requires you to tweak your PATH by including a bashrc/cshrc file it provides. You then can benefit from not having to run 'sudo' commands to install cpan modules because those are installed inside your HOME too. It's a completely separate perl environment.

INSTALLATION

The recommended way to install perlbrew is to run these statements in your shell:

    curl -LO http://xrl.us/perlbrew
    chmod +x perlbrew
    ./perlbrew install

After that, perlbrew installs itself to ~/perl5/perlbrew/bin, and you should follow the instruction on screen to setup your .bashrc or .cshrc to put it in your PATH.

The directory ~/perl5/perlbrew will contain all install perl executables, libraries, documentations, lib, site_libs. If you need to install perlbrew, and the perls it brews, into somewhere else because, say, your HOME has limited quota, you can do that by setting a PERLBREW_ROOT environment variable before you run ./perlbrew install.

    export PERLBREW_ROOT=/mnt/perlbrew
    ./perlbrew install

The downloaded perlbrew is a self-contained standalone program that embed all non-core modules it uses. It should be runnable with perl 5.8 or later versions of perl.

You may also install perlbrew from CPAN with cpan / cpanp / cpanm:

    cpan App::perlbrew

This installs 'perlbrew' into your current PATH and it is always executed with your current perl.

NOTICE. When you install or upgrade perlbrew with cpan / cpanp / cpanm, make sure you are not using one of the perls brewed with perlbrew. If so, the `perlbrew` executable you just installed will not be available after you swith to other perls. You might not be able to invoke further perlbrew commands after so because the executable perlbrew is not in your PATH anymore. Installing it again with cpan can temporarily solve this problem. To ensure you are not using a perlbrewed perl, run perlbrew off before upgrading.

It should be relatively safe to install App::perlbrew with system cpan (like /usr/bin/cpan) because then it will be installed under a system PATH like /usr/bin, which is not effected by perlbrew switch command.

Again, it is recommended to let perlbrew install itself. It's easier, and it works better.

USAGE

Please read the program usage by running

    perlbrew

(No arguments.) To read a more detail one:

    perlbrew -h

Alternatively, this should also do:

    perldoc perlbrew

If you messed up too much or get confused by having to many perls installed, you can do:

    perlbrew switch /usr/bin/perl

It will make sure that your current perl in the PATH is pointing to /usr/bin/perl.

As a matter of fact the switch command checks whether the given argument is an executale or not, and create a symlink named 'perl' to it if it is. If you really want to you are able to do:

    perlbrew switch /usr/bin/perl6

But maybe not. After running this you might not be able to run perlbrew anymore. So be careful not making mistakes there.

AUTHOR

Kang-min Liu <gugod@gugod.org>

COPYRIGHT

Copyright (c) 2010, Kang-min Liu <gugod@gugod.org>.

The standalone executable contains the following modules embedded.

HTTP::Lite

Copyright (c) 2000-2002 Roy Hopper, 2009 Adam Kennedy.

Licensed under the same term as Perl itself.

LICENCE

The MIT License

CONTRIBUTORS

Patches and code improvements were contributed by:

Tatsuhiko Miyagawa, Chris Prather, Yanick Champoux, aero, Jason May, Jesse Leuhrs, Andrew Rodland, Justin Davis, Masayoshi Sekimura

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.