I want to post a quick gist of recent perlbrew upgrade. New commands:

  • use
  • exec
  • install-cpanm

perlbrew is being gradually modified for better bash integration since 0.11. Notably, you can say perlbrew use perl-5.13.7 to switch to 5.13.7 only in current environment. This is possible by modifying $PATH directly, therefore perlbrew itself has become a bash function. You still need the perlbrew executable too, and it works the best with bash. Haven't figured out how to make it works for tcsh users just yet. It is still recommended for tcsh users to stay at 0.10 at this moment.

exec command is powerful. It executes the given command for each installed perls. This essentially installs Acme::EyeDrops 18 times for me (for I have that many versions of perls installed in my $HOME)

perlbrew exec cpanm Acme::EyeDrops

Try something like perlbrew exec perl -e 'print "$]\n"' and you'll see. This is a function that iterate over all installed perls and runs perlbrew use perl-xxx; sh -c '...' one by one. It changes $PATH etc automatically. Testers can find it very useful to run perlbrew exec prove -l t. The output format is not solid at all and is subject to be changed. This command will also be improved so it iterates on only specified perls. Definitely stay tuned for future updates.

install-cpanm downloads the standalone cpanm executable off from github and put it under $PERLBREW_ROOT/bin, which should be in your $PATH. This is just a handy command because we all love cpanm.

However it is not recommended to upgrade to perlbrew 0.15 quiet yet if you actually use perlbrew in you production environment. The bootstrapping / installing / initializing process is changing and not quite there yet. The init may be auto-invoked after install in the future. If you absolutely want to try perlbrew 0.15, please use the standalone executable and run install and init as if it's a brand new installation. You will not need the current symlink under $PERLBREW_ROOT/perls anymore, and it should be removed.

If you want to participate the development process of perlbrew, definitely check the github project page. File an issue for either bug reports or feature requests, and participate the issue discussion. Or, event better, fork the project and send me a pull request once you're done. That will be, absolutely no doubt, appreciated.