Skip to content

Instantly share code, notes, and snippets.

@jackl0phty
Created December 10, 2012 01:26
Show Gist options
  • Save jackl0phty/4247878 to your computer and use it in GitHub Desktop.
Save jackl0phty/4247878 to your computer and use it in GitHub Desktop.
Using Perl to Print Avery Labels.
#!/bin/bash
###############################################################################
# This shell script can be used to print Avery #
# address labels. #
###############################################################################
# Licensed under the Apache License, Version 2.0 (the "License"), #
# For any questions regarding the license of this software, please refer to #
# the actual license at http://www.apache.org/licenses/LICENSE-2.0.txt. #
###############################################################################
# DISCLAIMER OF WARRENTY #
# BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR #
# THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN #
# OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES #
# PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED #
# OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF #
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO #
# THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE #
# SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, #
# REPAIR, OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR #
# AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY #
# MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, #
# BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, #
# OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE #
# SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED #
# INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIESOR A FAILURE OF THE #
# SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER #
# PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. #
###############################################################################
# Must export default printer environment variable
# in order for lpr to function correctly. The rest
# will be executed from a Perl script.
#declare variables
FILEPATH="/home/user1/"
DATE=`date +%m%d%y`
MYPERL=`which perl`
SCRIPT=${FILEPATH}'print_addresses.pl'
# Get name of file user wants to process
echo "What printer do you want to print to?"
read PRINTER
#echo "Going to process: $DEFAULTPRINTER"
# Set default printer to DEFAULTPRINTER
export PRINTER=$PRINTER
# Call perl script which builds a postscript
# file and sends it to user's printer.
perl $SCRIPT
# Send postscript file to the printer
`cat ${FILEPATH}$DATE | lpr -P $PRINTER`
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment