App-perlbrew
view release on metacpan or search on metacpan
lib/App/perlbrew.pm view on Meta::CPAN
else {
$v =~ s/(\\")/\\$1/g;
$statements .= "export $k=\"$v\"\n";
}
}
}
else {
for (@statements) {
my ( $o, $k, $v ) = @$_;
if ( $o eq 'unset' ) {
$statements .= "unsetenv $k\n";
}
else {
$statements .= "setenv $k \"$v\"\n";
}
}
}
return $statements;
}
sub run_command_env {
my ( $self, $name ) = @_;
lib/App/perlbrew.pm view on Meta::CPAN
# silencing stderr in case there's a non-existent path in $PATH (see GH#446)
if test -n "$PERLBREW_PATH"
set -x PERLBREW_PATH (echo $PERLBREW_PATH | perl -pe 'y/:/ /' )
eval set -x PATH $PERLBREW_PATH $PATH_WITHOUT_PERLBREW 2> /dev/null
else
eval set -x PATH $PERLBREW_ROOT/bin $PATH_WITHOUT_PERLBREW 2> /dev/null
end
end
function __perlbrew_set_env
set -l code (eval $perlbrew_command env $argv | perl -pe 's/^(export|setenv)/set -xg/; s/=/ /; s/^unset(env)* (.*)/if test -n "\$$2"; set -eg $2; end/; s/$/;/; y/:/ /')
if test -z "$code"
return 0;
else
eval $code
end
end
function __perlbrew_activate
functions -e perl
lib/App/perlbrew.pm view on Meta::CPAN
__perlbrew_deactivate
__perlbrew_reinit
echo "perlbrew is switched off."
case '*'
command perlbrew $argv
end
end
function __source_init
perl -pe 's/^(export|setenv)/set -xg/; s/^unset(env)* (.*)/if test -n "\$$2"; set -eg $2; end/; s/=/ /; s/$/;/;' "$PERLBREW_HOME/init" | source
end
if test -z "$PERLBREW_ROOT"
set -x PERLBREW_ROOT "$HOME/perl5/perlbrew"
end
if test -z "$PERLBREW_HOME"
set -x PERLBREW_HOME "$HOME/.perlbrew"
end
lib/App/perlbrew.pm view on Meta::CPAN
case switch:
if ( $%2 == 0 ) then
\perlbrew switch
else
perlbrew use "$2" && source "$PERLBREW_ROOT/etc/csh_reinit" "$2"
endif
breaksw
case off:
unsetenv PERLBREW_PERL
foreach perlbrew_line ( "`\perlbrew env`" )
eval "$perlbrew_line"
end
source "$PERLBREW_ROOT/etc/csh_set_path"
echo "perlbrew is turned off."
breaksw
case switch-off:
unsetenv PERLBREW_PERL
source "$PERLBREW_ROOT/etc/csh_reinit" ''
echo "perlbrew is switched off."
breaksw
default:
\perlbrew $perlbrew_short_option:q $argv:q
set perlbrew_exit_status=$?
breaksw
endsw
rehash
lib/App/perlbrew.pm view on Meta::CPAN
source "$PERLBREW_HOME/init"
source "$PERLBREW_ROOT/etc/csh_set_path"
REINIT
}
sub CSH_SET_PATH_CONTENT {
return <<'SETPATH';
unalias perl
if ( $?PERLBREW_PATH == 0 ) then
setenv PERLBREW_PATH "$PERLBREW_ROOT/bin"
endif
setenv PATH_WITHOUT_PERLBREW `perl -e 'print join ":", grep { index($_, $ENV{PERLBREW_ROOT}) } split/:/,$ENV{PATH};'`
setenv PATH "${PERLBREW_PATH}:${PATH_WITHOUT_PERLBREW}"
setenv MANPATH_WITHOUT_PERLBREW `perl -e 'print join ":", grep { index($_, $ENV{PERLBREW_ROOT}) } split/:/,qx(manpath 2> /dev/null);'`
if ( $?PERLBREW_MANPATH == 1 ) then
setenv MANPATH "${PERLBREW_MANPATH}:${MANPATH_WITHOUT_PERLBREW}"
else
setenv MANPATH "${MANPATH_WITHOUT_PERLBREW}"
endif
SETPATH
}
sub CSHRC_CONTENT {
return "setenv PERLBREW_SHELLRC_VERSION $VERSION\n\n" . <<'CSHRC';
if ( $?PERLBREW_HOME == 0 ) then
setenv PERLBREW_HOME "$HOME/.perlbrew"
endif
if ( $?PERLBREW_ROOT == 0 ) then
setenv PERLBREW_ROOT "$HOME/perl5/perlbrew"
endif
if ( $?PERLBREW_SKIP_INIT == 0 ) then
if ( -f "$PERLBREW_HOME/init" ) then
source "$PERLBREW_HOME/init"
endif
endif
if ( $?PERLBREW_PATH == 0 ) then
setenv PERLBREW_PATH "$PERLBREW_ROOT/bin"
endif
source "$PERLBREW_ROOT/etc/csh_set_path"
alias perlbrew 'source "$PERLBREW_ROOT/etc/csh_wrapper"'
CSHRC
}
sub append_log {
my ( $self, $message ) = @_;
script/perlbrew view on Meta::CPAN
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
( run in 0.494 second using v1.01-cache-2.11-cpan-3989ada0592 )