Perlbrew

Fork me on github!!

Perlbrew Release 0.22

The 0.22 release features these major changes:

Better Installation Management

The install command used to clobber existing perl installations without noticing users, now it does not. perlbrew simply stops the installation process when it detects any naming collision. If it is intended to reinstall with the exact same name, you need to explicitly uninstall the old one first.

Yes, finally the uninstall command is here, to remove the specified perl installation.

perlbrew uninstall perl-5.10.1

Also a mechanism to make aliases is introduced. Which provides a better non-interactive usage.

Let's say you have both perl-5.12.3 and perl-5.14.0 installed, and want to migrate all your programs to use perl-5.14.0 eventually. Previously, you need to put the exact path to perl-5.12.3 in the shebang, like:

#!/Users/gugod/perl5/perlbrew/perls/perl-5.12.3/bin/perl

To migrate your programs to perl-5.14.0, you need to replace that line to

#!/Users/gugod/perl5/perlbrew/perls/perl-5.14.0/bin/perl

Which might not be a big issue, until you have to do that for tens, or hundreds of programs.

The solution to this scenario, is to use alias. First create an alias for perl-5.12.3, here the name of choice is "stable":

perlbrew alias create perl-5.12.3 stable

And the shebang for the "stable" perl is just:

#!/Users/gugod/perl5/perlbrew/perls/stable/bin/perl

Under the hood it is just a symlink that does the trick. Once you need to fullly migrate to perl-5.14.0, just upgrade the symlink with:

perlbrew alias delete stable
perlbrew alias create perl-5.14.0 stable

Or alternatively, do a force create to override the existing alias

perlbrew alias -f create perl-5.14.0 stable

No need to change shebang of programs anymore.

perlbrew used to have a special symlink named current to keep what's the default perl for users. This current symlink is no longer special. You may still create an alias named "current" if you need to.

New command: self-upgrade

A self-upgrade command is also introduced for easier upgrading. It essentially just run this line:

curl -L http://xrl.us/perlbrewinstall | bash

However, if the perlbrew executable is installed with CPAN, this command does not do anything at all, but just showing a message telling that it cannot be auto-upgraded. If your perlbrew is installed with CPAN, you need to upgrade it with CPAN.