perlbrew 0.20 features three major changes:
perlbrew install command
In short, paste this line to your terminal:
curl -L https://github.com/gugod/App-perlbrew/raw/master/perlbrew-install | bash
If you've installed perlbrew from CPAN and you're upgrading, you can still upgrade with CPAN. However, after upgrading App::perlbrew, you need to run:
perlbrew init
The install command now takes 3 different kinds of arguments, a perl distribution name, a path to git checkout directory, or a URL to a perlbrew distribution tarball:
perlbrew install perl-5.12.3
perlbrew install ~/src/perl
If you choose to build from a git checkout directory, you may do a git checkout v5.12.3 or git checkout <SHA1> to jump to any reversion you want to build, and run perlbrew install ~/src/perl from there. perlbrew will use the output of git describe as the installation name. That's something like perl-v5.14.0-RC1-8-g2cf7ccf.
In some use cases, many people may want to share one PERLBREW_ROOT on the same machine instead having redundant copies all over the hard drives.
perlbrew had been using a symlink named current to record currently activated perl. That is a global setting, and is now deprecated.
The switch command now stop updating the current symlink. Instead, it stores that piece information under ~/.perlbrew directory.
Notice that symbolic links are still used when installing development releases of perl. The perl executables are named with version numbers, like perl5.13.9, cpan5.13.9. In those cases, Un-versioned executable symlinks are created to point to their versioned counterparts (perl -> perl5.13.9, cpan -> cpan5.13.9.)
For a while, CSH / TCSH users cannot use 'use' command to temporarily switch to a given perl installation,
they now can. However, the user experiences is different. perlbrew use essentially launch a sub-shell that need to be exited. Like the illustration here:
> perl -v # 5.12.3
> perlbrew use perl-5.13.9
> perl -v # 5.13.9
> exit
> perl -v 5.12.3
The behavior of switch command also changes for CSH users. In order to make perlbrew multi-user friendly, the current symlink is removed, which essentially limits the approach of implementation of switch command. The switch command now prompts user to quit current shell and start a new one, or run exec tcsh in order to make if effective.