++ed by:

87 PAUSE users
51 non-PAUSE users.



perlbrew - Perl Environment manager.


    perlbrew [options] [init|install|list|switch]

    # Initialize
    perlbrew init

    # Pick a prefered CPAN mirror
    perlbrew mirror

    # Install some Perls
    perlbrew install perl-5.12.2
    perlbrew install perl-5.13.6

    # Install from a git checkout
    cd /path/to/src/perl
    perlbrew install .

    # List which perls are installed
    perlbrew list

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

    # Turn it off. Disable it.
    perlbrew off

    # Turn it back on. Re-enable it.
    perlbrew switch perl-5.13.6



Run this once to setup the perlbrew directory ready for installing perls into. Run it again if you decide to change PERLBREW_ROOT.


Run this if you want to choose a specific CPAN mirror to install the perls from. It will display a list of mirrors for you to pick from. Hit 'q' to cancel the selection.

install perl-<version>

Build and install the given version of perl.

install /path/to/perl/git/checkout/dir

Build and install from the given git checkout dir.


List the installed versions of perl.

use perl-<version>

Notice: this only works in bash and zsh.

Switch to the given version of perl only in the current shell. This will not effect newly opened shells.

switch perl-<version>

Switch to the given version. You may need to run 'rehash' (or 'hash -r') after this command.


Show the version of perbrew.


Disable perlbrew. Use switch command to re-enable it.


Low-level command. Use this command to see the list of environment variables that are set by perlbrew itself for bash integration.

The output is something similar to this:

    export PERLBREW_ROOT=/Users/gugod/perl5/perlbrew
    export PERLBREW_VERSION=0.11
    export PERLBREW_PATH=/Users/gugod/perl5/perlbrew/bin

Low-level command. Use this command to create the perl executable symbolic link to perl5.13.6.

You don't need to do this unless you were using old perlbrew to install perls. The installation layout is changed since version 0.11.

If you just upgraded perlbrew and found perlbrew switch failed to work after you switch to a development release of perl, say, perl-5.13.5, run this command:

    perlbrew symlink_executables perl-5.13.6

This essentially creates this symlink:

   -> ${PERLBREW_ROOT}/perls/perl-5.13.5/bin/perl5.13.6

You should not need to do this if you are using perlbrew 0.11 or newer, to intsall


-h| --help

prints this help.

-f| --force

Force installation of a perl.

-n| --notest

Skip the test suite

-q| --quiet

Log output to a log file rather than STDOUT. This is the default. The log file is saved in $ROOT/build.log

-v| --verbose

Log output to STDOUT rather than a logfile.


Install a given perl under an alias.

    perlbrew install perl-5.6.2 --as legacy-perl
-D, -U, -A

pass through switches to the perl Configure script.

    perlbrew install perl-5.10.1 -D usemymalloc -U uselargefiles


Read App::perlbrew for more complete documentation.


By default perlbrew builds and installs copies of perl into $ENV{HOME}/perl5/perlbrew. To use a different directory, set the PERLBREW_ROOT shell variable before running perlbrew.