prezto/modules/perl/README.md
Ashish Gandhi b6b43eb331 Rename "Mac OS X" to "macOS" in comments
This only changes references in text for human consumption. It leaves
out renaming paths because that can cause breaking changes.

Related issue https://github.com/sorin-ionescu/prezto/issues/1449.
2018-04-16 15:53:48 -07:00

115 lines
3.2 KiB
Markdown

Perl
====
Enables local [Perl][1] module installation on macOS and defines aliases.
Local Module Installation
-------------------------
Perl versions older than 5.14 do not support the local installation of Perl
modules natively. This module allows for local installation of Perl modules on
macOS in *~/Library/Perl/5.12* by altering the environment.
### Usage
For Perl versions older than 5.14, install *local::lib*.
```console
curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xvf local-lib-1.008004.tar.gz
cd local-lib-1.008004
perl Makefile.PL --bootstrap=$HOME/Library/Perl/5.12
make && make test && make install
```
Install *cpanminus*:
```console
curl -L http://cpanmin.us | perl - --self-upgrade
```
Perlbrew
--------
An alternative to the above is to use [Perlbrew][2], which allows for the
management of multiple, isolated Perl installations in the home directory.
plenv
-----
Yet another alternative is [plenv][3]. This is inspired from rbenv and enables
switching between multiple binary installations.
The subcommands of plenv is similar with rbenv.
Aliases
-------
### General
- `pl` is short for `perl`.
- `pld` looks up Perl documentation (`perldoc`).
- `ple` executes a one line program in a loop (`perl -wlne`).
### Perlbrew
- `plb` manages Perl environments.
- `plba` lists available Perl versions.
- `plbi` installs a Perl version.
- `plbl` lists installed Perl versions.
- `plbo` temporarily turns off Perlbrew.
- `plbO` turns off Perlbrew.
- `plbs` switches to a Perl version.
- `plbu` uninstalls a Perl version.
- `plbx` temporarily sets the Perl version to use.
### plenv
- `plv` manages Perl environments.
- `plvc` List all available plenv commands.
- `plvl` Set or show the local application-specific Perl version.
- `plvg` Set or show the global Perl version.
- `plvs` Set or show the shell-specific Perl version.
- `plvi` Install a Perl version using the perl-build plugin.
- `plvu` Uninstall a specific Perl version.
- `plvr` Rehash plenv shims (run this after installing executables).
- `plvv` Show the current Perl version and its origin.
- `plvV` List all Perl versions available to plenv.
- `plvw` Display the full path to an executable.
- `plvW` List all Perl versions that contain the given executable.
- `plvm` List cpan modules in current perl.
- `plvM` Migrate cpan modules from other version.
- `plvI` Install cpanm.
Functions
---------
- `perl-info` exposes information about the Perl environment via the
`$perl_info` associative array.
Theming
-------
To display the name of the current Perl version in a prompt, define the
following style in the `prompt_name_setup` function.
```sh
# %v - perl version.
zstyle ':prezto:module:perl:info:version' format 'version:%v'
```
Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call
`perl-info` in the `prompt_name_precmd` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.perl.org
[2]: http://perlbrew.pl
[3]: https://github.com/tokuhirom/plenv
[4]: https://github.com/sorin-ionescu/prezto/issues