1App::perlbrew(3) User Contributed Perl Documentation App::perlbrew(3)
2
3
4
6 App::perlbrew - Manage perl installations in your $HOME
7
9 # Initialize
10 perlbrew init
11
12 # Pick a preferred CPAN mirror
13 perlbrew mirror
14
15 # See what is available
16 perlbrew available
17
18 # Install some Perls
19 perlbrew install 5.14.0
20 perlbrew install perl-5.8.1
21 perlbrew install perl-5.13.6
22
23 # See what were installed
24 perlbrew list
25
26 # Switch perl in the $PATH
27 perlbrew switch perl-5.12.2
28 perl -v
29
30 # Temporarily use another version only in current shell.
31 perlbrew use perl-5.8.1
32 perl -v
33
34 # Switch to a certain perl executable not managed by perlbrew.
35 perlbrew switch /usr/bin/perl
36
37 # Or turn it off completely. Useful when you messed up too deep.
38 # Or want to go back to the system Perl.
39 perlbrew off
40
41 # Use 'switch' command to turn it back on.
42 perlbrew switch perl-5.12.2
43
44 # Exec something with all perlbrew-ed perls
45 perlbrew exec perl -E 'say $]'
46
48 perlbrew is a program to automate the building and installation of perl
49 in the users HOME. At the moment, it installs everything to
50 "~/perl5/perlbrew", and requires you to tweak your PATH by including a
51 bashrc/cshrc file it provides. You then can benefit from not having to
52 run 'sudo' commands to install cpan modules because those are installed
53 inside your HOME too. It's a completely separate perl environment.
54
56 To use "perlbrew", it is required to install "curl" or "wget" first.
57 "perlbrew" depends on one of this two external commmands to be there in
58 order to fetch files from the internet.
59
60 The recommended way to install perlbrew is to run this statement in
61 your shell:
62
63 curl -L http://xrl.us/perlbrewinstall | bash
64
65 After that, "perlbrew" installs itself to "~/perl5/perlbrew/bin", and
66 you should follow the instruction on screen to setup your ".bashrc" or
67 ".cshrc" to put it in your PATH.
68
69 The downloaded perlbrew is a self-contained standalone program that
70 embeds all non-core modules it uses. It should be runnable with perl
71 5.8 or later versions of perl.
72
73 This installer also installs a packed version of "patchperl" to
74 "~/perl5/perlbrew/bin", which is required to build old perls.
75
76 The directory "~/perl5/perlbrew" will contain all install perl
77 executables, libraries, documentations, lib, site_libs. If you need to
78 install "perlbrew", and the perls it brews, into somewhere else
79 because, say, your HOME has limited quota, you can do that by setting a
80 "PERLBREW_ROOT" environment variable before running the installer:
81
82 export PERLBREW_ROOT=/opt/perlbrew
83 curl -L http://xrl.us/perlbrewinstall | bash
84
85 By default, "perlbrew" looks for the intialization file that exports
86 "PERLBREW_ROOT" in "~/.perlbrew/init". In some cases (for instance, if
87 your home directory is shared across multiple machines), you may wish
88 to have several different perlbrew setting per-machine. If so, you can
89 use the "PERLBREW_HOME" environment variable to tell perlbrew where to
90 look for the initialization file.
91
92 # on machine a
93 $ PERLBREW_HOME=~/.perlbrew-a PERLBREW_ROOT=~/perl5/perlbrew-a ./perlbrew install
94
95 # on machine b
96 $ PERLBREW_HOME=~/.perlbrew-b PERLBREW_ROOT=~/perl5/perlbrew-b ./perlbrew install
97
98 If you specify "PERLBREW_HOME", you will also need to specify both
99 "PERLBREW_HOME" and "PERLBREW_ROOT" when you first install perlbrew.
100 After that, you'll need to make sure "PERLBREW_HOME" is exported when
101 you log in, before you source "$PERLBREW_ROOT/etc/bashrc" (or "cshrc").
102 Example ".bashrc":
103
104 if [ "$(hostname)" == "machine-a" ]; then
105 export PERLBREW_HOME=~/.perlbrew-a
106 source ~/perl5/perlbrew-a/etc/bashrc
107 elif [ "$(hostname)" == "machine-b" ]; then
108 export PERLBREW_HOME=~/.perlbrew-b
109 source ~/perl5/perlbrew-b/etc/bashrc
110 fi
111
112 You may also install perlbrew from CPAN:
113
114 cpan App::perlbrew
115
116 However, please make sure not to run this with one of the perls brewed
117 with perlbrew. It's the best to turn perlbrew off before you run that,
118 if you're upgrading.
119
120 perlbrew off
121 cpan App::perlbrew
122
123 You should always use system cpan (like /usr/bin/cpan) to install
124 "App::perlbrew" because then it will be installed under a system PATH
125 like "/usr/bin", which is not affected by perlbrew "switch" or "use"
126 command.
127
128 However, it is still recommended to let "perlbrew" install itself. It's
129 easier, and it works better.
130
132 Please read the program usage by running
133
134 perlbrew
135
136 (No arguments.) To read a more detailed one:
137
138 perlbrew -h
139
141 perlbrew project uses github
142 http://github.com/gugod/App-perlbrew/issues
143 <http://github.com/gugod/App-perlbrew/issues> and RT
144 <https://rt.cpan.org/Dist/Display.html?Queue=App-perlbrew> for issue
145 tracking. Issues sent to these two systems will eventually be reviewed
146 and handled.
147
149 Kang-min Liu "<gugod@gugod.org>"
150
152 Copyright (c) 2010, 2011 Kang-min Liu "<gugod@gugod.org>".
153
155 The MIT License
156
158 See https://github.com/gugod/App-perlbrew/contributors
159 <https://github.com/gugod/App-perlbrew/contributors>
160
162 BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
163 FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
164 WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
165 PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
166 EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
167 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
168 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
169 YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
170 NECESSARY SERVICING, REPAIR, OR CORRECTION.
171
172 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
173 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
174 REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
175 TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
176 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
177 SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
178 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
179 FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
180 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
181 DAMAGES.
182
183
184
185perl v5.12.3 2011-08-10 App::perlbrew(3)