I'm using perlbrew right now to manage multiple versions of perl, but perlbrew is global. If I do perlbrew switch perl-5.10.1
in any shell, then all shells and scripts will now be using perl version 5.10.1. There is no isolation. Is there any way to make perlbrew switches local to a shell, or is there a similar tool capable of locally changing the active perl?
In more recent versions of Perlbrew, you can do perlbrew use perl-5.12.3
or whatever and you'll be using that version of Perl, but only in the current shell session. Other sessions won't be affected.
Just don't use perlbrew. All it's doing is changing symlinks for you. It's supposed to save you work, but when it's not, there's no longer a reason to use it.
I talk about how I do it in Make links to per-version tools in The Effective Perler. I always know which perl I'm using because I never have to remember which one I switched to last, and I don't disturb anything else expecting a particular version behind a symlink. You can still use perlbrew to install perls, but it's not saving you that much work there either.
perl5.10.1
in my path and then specify versions explicitly, but I guess that the behavior that I'm looking for is that perl
runs a certain default version of perl. Then if I run perlbrew switch
in one shell, then perl
in that shell refers to the new version, but all other shells and programs continue to run the default perl. And ditto for the rest of the perl environment: modules, executables, manpages/perldocs. I suppose I'll have to learn how to use the Furlani Modules package that your article links to in order to get what I want. –
Lacerate man Some::Module
). –
Lacerate man
doesn't find anything inside a perlbrew, for instance. All it does is put a directory into PATH
and symlink things into that directory. –
Daph perldoc
even use MANPATH
? –
Knockknee In more recent versions of Perlbrew, you can do perlbrew use perl-5.12.3
or whatever and you'll be using that version of Perl, but only in the current shell session. Other sessions won't be affected.
© 2022 - 2024 — McMap. All rights reserved.