summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorDaniel Bolton <danielbarrettbolton@gmail.com>2011-03-14 01:43:33 -0400
committerDaniel Bolton <danielbarrettbolton@gmail.com>2011-03-14 01:43:33 -0400
commit5bbd87a33380ab4fb9cab6688b11cb98faa61cd7 (patch)
tree11c736b1eb8531109cda165fcdb0f3249bcef5c9 /plugins
parent746a10368acd38d80cd35c2b97202a9187d58a05 (diff)
downloadzsh-5bbd87a33380ab4fb9cab6688b11cb98faa61cd7.tar.gz
zsh-5bbd87a33380ab4fb9cab6688b11cb98faa61cd7.tar.bz2
zsh-5bbd87a33380ab4fb9cab6688b11cb98faa61cd7.zip
add Perl plugins file
Diffstat (limited to 'plugins')
-rw-r--r--plugins/perl/perl.plugin.zsh62
1 files changed, 62 insertions, 0 deletions
diff --git a/plugins/perl/perl.plugin.zsh b/plugins/perl/perl.plugin.zsh
new file mode 100644
index 000000000..f94c4195d
--- /dev/null
+++ b/plugins/perl/perl.plugin.zsh
@@ -0,0 +1,62 @@
+# https://github.com/dbbolton
+#
+# Below are some useful Perl-related aliases/functions that I use with zsh.
+
+
+# Aliases ###################################################################
+
+# perlbrew ########
+alias pbi='perlbrew install'
+alias pbl='perlbrew list'
+alias pbo='perlbrew off'
+alias pbs='perlbrew switch'
+alias pbu='perlbrew use'
+
+# Perl ############
+
+# perldoc`
+alias pd='perldoc'
+
+# use perl like awk/sed
+alias ple='perl -wlne'
+
+# show the latest stable release of Perl
+alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\'
+
+
+
+# Functions #################################################################
+
+# newpl - creates a basic Perl script file and opens it with $EDITOR
+newpl () {
+ # set $EDITOR to 'vim' if it is undefined
+ [[ -z $EDITOR ]] && EDITOR=vim
+
+ # if the file exists, just open it
+ [[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1
+
+ # if it doesn't, make it, and open it
+ [[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\
+ "\n\n" > $1 && $EDITOR $1
+}
+
+
+# pgs - Perl Global Substitution
+# find pattern = 1st arg
+# replace pattern = 2nd arg
+# filename = 3rd arg
+pgs() { # [find] [replace] [filename]
+ perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3"
+}
+
+
+# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files.
+prep() { # [pattern] [filename unless STDOUT]
+ perl -nle 'print if /'"$1"'/;' $2
+}
+
+# say - append a newline to 'print'
+say() {
+ print "$1\n"
+}
+