Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Runtime Version Managers
  3. plenv

plenv

What it is

plenv is a free Perl version manager for Linux and macOS. It installs Perl versions in a user’s home directory and lets developers switch the active version in a shell, helping align development with production. A `.perl-version` file assigns a version to a project directory and overrides the global choice. Shell-script shims route Perl executable commands through the selected version. The README documents setup for Bash and Zsh, including optional shell integration and autocompletion. Installation is described through GitHub, an archive or Homebrew on Mac OS X. The perl-build plugin adds `plenv install`, while plenv-contrib supplies `use` and `lib` commands as a local::lib integration replacement. Carton is recommended for upgrades and deployments. The `migrate-modules` command transfers newest module versions between environments, although versions may differ. Dependencies include Perl 5.8.1+ and Bash; curl is needed for `plenv install-cpanm`.

For and against

For

  • Free software under Perl terms
  • Pins versions with `.perl-version`
  • Supports Bash and Zsh
  • Offers shell autocompletion
  • Installs versions in the home directory

Against

  • Incompatible with perlbrew
  • Requires Perl 5.8.1+ and Bash
  • curl needed for install-cpanm
  • Module versions may differ after migration

The verdict

plenv provides project and global Perl version selection with shell integration and plugins. Its perlbrew incompatibility and listed dependencies should be checked before installation.

Who it suits

plenv suits Perl developers on Linux or macOS who need project-specific interpreter versions and shell switching. It is useful when development and production versions must stay aligned.

Plans and prices

plenv

Free

Perl binary manager · free software under the same terms as Perl 5

Every plan, in full

On the record

Compatibility limit
plenv is incompatible with perlbrew, and the README says to uninstall perlbrew and remove its shell initialization references before installing plenv.github.com · read 7 Oct 2026
Dependencies
The README lists Perl 5.8.1+ and Bash as dependencies, with curl needed for `plenv install-cpanm`.github.com · read 7 Oct 2026
Installation
The README documents installation from GitHub, from an archive, and through Homebrew on Mac OS X.github.com · read 7 Oct 2026
Integrations
The README recommends using plenv with Carton for Perl upgrades and deployments.github.com · read 7 Oct 2026
License
The project says plenv is free software redistributable under the same terms as Perl itself.github.com · read 7 Oct 2026
Module migration
The `migrate-modules` command installs the newest versions of modules from one Perl environment into another, and the README cautions that versions may differ.github.com · read 7 Oct 2026
Plugins
perl-build provides the `plenv install` command, and plenv-contrib adds `use` and `lib` commands as a local::lib integration replacement.github.com · read 7 Oct 2026
Project versions
A `.perl-version` file sets a local Perl version for a directory, overriding the global version.github.com · read 7 Oct 2026
Purpose
plenv lets users select a Perl version for an application so the development environment matches production.github.com · read 7 Oct 2026
Shell support
The README documents setup for Bash and Zsh, including optional shell integration and autocompletion.github.com · read 7 Oct 2026
Shims
plenv uses shell script wrappers called shims for Perl executables.github.com · read 7 Oct 2026
Support
The README directs users to GitHub issues for bug reports.github.com · read 7 Oct 2026
Version management
It installs Perl versions under the user's home directory and lets them switch versions in a shell.github.com · read 7 Oct 2026

Alternatives to plenv

Every alternative, ranked