LinuxCommandLibrary

plenv

Manage multiple Perl installations

TLDR

List installed versions

$ plenv versions
copy
Show current version
$ plenv version
copy
Set global version
$ plenv global [5.38.0]
copy
Set local version
$ plenv local [5.36.0]
copy
Install Perl version
$ plenv install [5.38.0]
copy
List available versions
$ plenv install --list
copy
Install cpanm
$ plenv install-cpanm
copy
Rehash shims
$ plenv rehash
copy

SYNOPSIS

plenv [install] [global] [local] [versions] [options] [version]

DESCRIPTION

plenv manages multiple Perl versions. It installs versions to ~/.plenv and uses shims to route commands to the correct Perl.
Version selection prioritizes: PLENV_VERSION environment variable, .perl-version file in current/parent directories, global setting.
Local version creates .perl-version file for project-specific Perl. Entering the directory automatically switches versions.
Installation uses Perl-Build to compile from source. Build options can customize the installation.
cpanm installation provides a module installer that works with all managed Perl versions. Run rehash after installing modules with executables.
The design mirrors rbenv, providing consistent version management across languages for developers familiar with that pattern.

PARAMETERS

install VERSION

Install Perl version.
install --list
List available versions.
versions
List installed versions.
version
Show current version.
global [VERSION]
Set/show global version.
local [VERSION]
Set/show local version.
shell [VERSION]
Set shell-specific version.
rehash
Rebuild shim executables.
which CMD
Show command path.
exec CMD
Run with current Perl.
install-cpanm
Install cpanminus.

CONFIGURATION

~/.plenv/versions/

Directory containing installed Perl versions.
~/.plenv/version
Global Perl version setting file.
.perl-version
Per-directory Perl version file for project-specific settings.
PLENV_VERSION
Environment variable to override the active Perl version.

CAVEATS

Building Perl requires development tools. Some modules need recompilation when switching versions. Shell initialization required.

HISTORY

plenv was created by Tokuhiro Matsuno around 2011, inspired by rbenv. It provides Perl version management following the same principles that made rbenv successful for Ruby.

SEE ALSO

perlbrew(1), cpanm(1), perl(1), rbenv(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community