plugins/perl/perl.plugin.zsh
5bbd87a3
 # 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"
 }