]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/plugins/perl/perl.plugin.zsh
merge oh-my-zsh into subdir
[dotfiles.git] / zsh / plugins / perl / perl.plugin.zsh
diff --git a/zsh/plugins/perl/perl.plugin.zsh b/zsh/plugins/perl/perl.plugin.zsh
new file mode 100644 (file)
index 0000000..f94c419
--- /dev/null
@@ -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"
+}
+