App-perlbrew
view release on metacpan or search on metacpan
script/perlbrew view on Meta::CPAN
Execute command for each perl installations, one by one.
For example, run a Hello program:
perlbrew exec perl -e 'print "Hello from $]\n"'
The output looks like this:
perl-5.12.2
==========
Hello word from perl-5.012002
perl-5.13.10
==========
Hello word from perl-5.013010
perl-5.14.0
==========
Hello word from perl-5.014000
Notice that the command is not executed in parallel.
When C<--with> argument is provided, the command will be only executed with the
specified perl installations. The following command install Moose module into
perl-5.12, regardless the current perl:
perlbrew exec --with perl-5.12 cpanm Moose
Multiple installation names can be provided:
perlbrew exec --with perl-5.12,perl-5.12-debug,perl-5.14.2 cpanm Moo
They are split by either spaces or commas. When spaces are used, it is required
to quote the whole specification as one argument, but then commas can be used in
the installation names:
perlbrew exec --with '5.12 5.12,debug 5.14.2@nobita @shizuka' cpanm Moo
As demonstrated above, "perl-" prefix can be omitted, and lib names can be
specified too. Lib names can appear without a perl installation name, in such
cases it is assumed to be "current perl".
At the moment, any specified names that fails to be resolved as a real
installation names are silently ignored in the output. Also, the command exit
status are not populated back.
=head1 COMMAND: ENV
Usage: perlbrew env [ <name> ]
Low-level command. Invoke this command to see the list of environment
variables that are set by C<perlbrew> itself for shell integration.
The output is something similar to this (if your shell is bash/zsh):
export PERLBREW_ROOT=/Users/gugod/perl5/perlbrew
export PERLBREW_VERSION=0.31
export PERLBREW_PATH=/Users/gugod/perl5/perlbrew/bin:/Users/gugod/perl5/perlbrew/perls/current/bin
export PERLBREW_PERL=perl-5.14.1
tcsh / csh users should see 'setenv' statements instead of `export`.
=head1 COMMAND: SYMLINK-EXECUTABLES
Usage: perlbrew symlink-executables [ <name> ]
Low-level command. This command is used to create the C<perl> executable
symbolic link to, say, C<perl5.13.6>. This is only required for
development version of perls.
You don't need to do this unless you have been using old perlbrew to install
perls, and you find yourself confused because the perl that you just installed
appears to be missing after invoking `use` or `switch`. perlbrew changes its
installation layout since version 0.11, which generates symlinks to executables
in a better way.
If you just upgraded perlbrew (from 0.11 or earlier versions) and C<perlbrew
switch> failed to work after you switch to a development release of perl, say,
perl-5.13.6, run this command:
perlbrew symlink-executables perl-5.13.6
This essentially creates this symlink:
${PERLBREW_ROOT}/perls/perl-5.13.6/bin/perl
-> ${PERLBREW_ROOT}/perls/perl-5.13.6/bin/perl5.13.6
Newly installed perls, whether they are development versions or not, does not
need manually treatment with this command.
=head1 COMMAND: INSTALL-CPANM
Usage: perlbrew install-cpanm
Install the C<cpanm> standalone executable in C<$PERLBREW_ROOT/bin>.
For more rationale about the existence of this command, read
<https://perlbrew.pl/Perlbrew-and-Friends.html>
Usage: perlbrew install-cpm
Install the C<cpm> standalone executable in C<$PERLBREW_ROOT/bin>.
=head1 COMMAND: INSTALL-PATCHPERL
Usage: perlbrew install-patchperl
Install the C<patchperl> standalone executable in C<$PERLBREW_ROOT/bin>. This
is automatically invoked if your perlbrew installation is done with the
installer, but not with cpan.
For more rationale about the existence of this command, read
<https://perlbrew.pl/Perlbrew-and-Friends.html>
=head1 COMMAND: SELF-UPGRADE
Usage: perlbrew self-upgrade
This command upgrades Perlbrew to its latest version.
=head1 COMMAND: SELF-INSTALL
( run in 0.916 second using v1.01-cache-2.11-cpan-39bf76dae61 )