simplify code and document

This commit is contained in:
Carlo Sala 2025-01-23 20:23:45 +01:00
commit 7abeb4937c
No known key found for this signature in database
GPG key ID: DA6FB450C1A4FE9A
2 changed files with 28 additions and 39 deletions

View file

@ -8,30 +8,36 @@ To use it, add `perl` to the plugins array in your zshrc file:
plugins=(... perl)
```
## Perlbrew activation
If the plugin detects that `perlbrew` hasn't been activated, yet there is an installation of it in
`$PERLBREW_ROOT`, it'll initialize by default. To avoid this behaviour, set `ZSH_PERLBREW_ACTIVATE=false`
before `source oh-my-zsh.sh` in your zshrc.
## Aliases
| Aliases | Command | Description |
| :------------ | :----------------- | :------------------------------------- |
| pbi | `perlbrew install` | Install specific perl version |
| pbl | `perlbrew list` | List all perl version installed |
| pbo | `perlbrew off` | Go back to the system perl |
| pbs | `perlbrew switch` | Turn it back on |
| pbu | `perlbrew use` | Use specific version of perl |
| pd | `perldoc` | Show the perl documentation |
| ple | `perl -wlne` | Use perl like awk/sed |
| latest-perl | `curl ...` | Show the latest stable release of Perl |
| Aliases | Command | Description |
| :---------- | :----------------- | :------------------------------------- |
| pbi | `perlbrew install` | Install specific perl version |
| pbl | `perlbrew list` | List all perl version installed |
| pbo | `perlbrew off` | Go back to the system perl |
| pbs | `perlbrew switch` | Turn it back on |
| pbu | `perlbrew use` | Use specific version of perl |
| pd | `perldoc` | Show the perl documentation |
| ple | `perl -wlne` | Use perl like awk/sed |
| latest-perl | `curl ...` | Show the latest stable release of Perl |
## Functions
* `newpl`: creates a basic Perl script file and opens it with $EDITOR.
- `newpl`: creates a basic Perl script file and opens it with $EDITOR.
* `pgs`: Perl Global Substitution: `pgs <find_pattern> <replace_pattern> <filename>`
Looks for `<find_pattern>` and replaces it with `<replace_pattern>` in `<filename>`.
- `pgs`: Perl Global Substitution: `pgs <find_pattern> <replace_pattern> <filename>` Looks for
`<find_pattern>` and replaces it with `<replace_pattern>` in `<filename>`.
* `prep`: Perl grep, because 'grep -P' is terrible: `prep <pattern> [<filename>]`
Lets you work with pipes or files (if no `<filename>` provided, use stdin).
- `prep`: Perl grep, because 'grep -P' is terrible: `prep <pattern> [<filename>]` Lets you work with pipes or
files (if no `<filename>` provided, use stdin).
## Requirements
In order to make this work, you will need to have perl installed.
More info on the usage and install: https://www.perl.org/get.html
In order to make this work, you will need to have perl installed. More info on the usage and install:
https://www.perl.org/get.html

View file

@ -56,27 +56,10 @@ prep() { # [pattern] [filename unless STDOUT]
}
# If the 'perlbrew' function isn't defined, perlbrew isn't setup.
if ! typeset -f perlbrew > /dev/null; then
# Has PERLBREW_ROOT been set prior, and is it a valid directory? If so, store
# value
if [[ -n "${PERLBREW_ROOT}" && -d "{{PERLBREW_ROOT}" ]]; then
perlbrew_root="${PERLBREW_ROOT}"
if [[ $ZSH_PERLBREW_ACTIVATE != false ]] && (( ! $+functions[perlbrew] )); then
local _perlbrew="${PERLBREW_ROOT:-${HOME}/perl5/perlbrew}"
if [[ -f "${_perlbrew}/etc/bashrc" ]]; then
source "${_perlbrew}/etc/bashrc"
fi
# If perlbrew_root isn't set yet, then set the default path
if [[ -z "${perlbrew_root}" ]]; then
perlbrew_root="${HOME}/perl5/perlbrew"
fi
# If we can find perlbrew's 'bashrc' (yes, I know!)...
if [[ -d "${perlbrew_root}" && -f "${perlbrew_root}/etc/bashrc" ]]; then
# and if NO_AUTO_ADD isn't set
if [[ -z "${PERLBREW_NO_AUTO_ADD}" ]]; then
# Initialize perlbrew
source "${perlbrew_root}/etc/bashrc"
fi
fi
# Clear our temporary variable
unset perlbrew_root
unset _perlbrew
fi