Subject: | lib does not clean out ENV completly |
Hi!
I recently tried the newish "lib" feature of perlbrew but I think there
is a (semi-small) bug:
I do:
~$ perlbrew use 5.16.1@foo
and everything is as expected
but when I than do
~$ perlbrew use 5.16.1
some ENV keys still reference @foo, namely:
MANPATH
PERL5LIB
PERL_MB_OPT
MANPATH_WITHOUT_PERLBREW
PERL_LOCAL_LIB_ROOT
PERL_MM_OPT
It seems that this was already fixed in
https://github.com/gugod/App-perlbrew/commit/91d017458bd399eecb278a099884d0d286518a90
Or you could set those ENV keys to undef around line 1204:
if ($self->env("PERLBREW_LIB")) {
my $base = "$PERLBREW_HOME/libs/${perl_name}\@" .
$self->env("PERLBREW_LIB");
my %deactivate_env =
local::lib->build_deact_all_environment_vars_for($base);
@env{keys %deactivate_env} = values %deactivate_env;
$env{PERLBREW_LIB} = "";
}
I tried to fix this myself, but I couldn't figure out how to just run
some modified perlbrew.pm due to fatpacking, bash magic etc. Sorry!
(for example, running ./perlbrew (from the git checkout) always dumps me
into a sub-shell, which confuses me a bit, because it's different from
"normal" perlbrew behaviour (and I'm not that good at shell/bash/system
stuff...))
Anyway, thanks for the great tool, and I'd very much like to help you on
this issue, if I only could figure out how...
Greetings,
domm