What Perl can do for you - PowerPoint PPT Presentation

1 / 111
About This Presentation
Title:

What Perl can do for you

Description:

Ann Anderson. The Boeing Company. Converts data into a format to feed in an enterprise search ... Good for automating Windows functions. Another Resource ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 112
Provided by: pshi1
Category:
Tags: anderson | perl | windows

less

Transcript and Presenter's Notes

Title: What Perl can do for you


1
What Perl can do for you
  • Phil Shirley
  • Cuyahoga Falls Library

2
Goals
  • 1. Learn about the process of running a Perl
    script
  • So you can speak intelligently with an IT person
    who you want to do some Perl
  • So you can try it yourself if you want

3
Goals
  • 2. Learn how libraries use Perl
  • Understand how some scripts basically work
  • Appreciate the more complex projects
  • Grasp the scope of what Perl can do

4
  • This presentation will not teach you anything
    about the Perl programming language or how to
    write, edit, or troubleshoot Perl scripts

5
Overview
  • What is Perl
  • What you need
  • Beyond the basics
  • What libraries are doing with Perl
  • Resources

6
  • Dear computer,
  • Please take that file I just saved and give me a
    summary report.
  • kthxbye

7
  • Great, somebody posted a Perl script to do
    exactly what I need!
  • I wish I knew how to use it.

8
  • We dont have Perl.

9
What Perl Is
  • Perl is a general purpose programming language
    thats especially good at manipulating text.

10
Script? Program?
  • Scripts and programs are changed (compiled)
    into commands the computer can understand.
  • Scripts are compiled each time you run them.
  • Programs are compiled once, when you finish
    writing them.

11
  • Still, we use the word programming to refer to
    creating scripts.

12
Some write it PERL
  • Practical Extraction and Report Language
  • Actually this is a backronym, just like
    Gentlemen Only, Ladies Forbidden (Golf).

13
What do I need to get started?
  • A computer
  • A text editor
  • A Perl script
  • A Perl interpreter
  • Perl modules (if needed by the script)
  • Input

14
Computer
  • Your workstation (Windows, Mac, etc.)
  • Just about any server (web, e-mail, Windows,
    etc.)
  • Almost never your Innovative server

15
  • Which computer you use depends on the particular
    task and/or what computers you have access to.

16
Text editor
  • For creating editing Perl scripts
  • A program for editing plain text files
  • letters, numerals, symbols, tab, newline
  • no fileformat-specific control characters for
    things like bold, italic, fonts, columns, tables

17
Text Editors
  • Not Microsoft Word, Wordpad, etc.
  • Built-in
  • Notepad (Windows)
  • SimpleText or TextEdit (Mac)
  • Other specialized editors for programming exist

18
Perl script
  • A plain text file that you write (or copy from
    somebody else)
  • Written in the Perl language
  • Looks like this

19
  • !c\perl\bin\perl.exe
  • print "Hello World!"

20
Perl interpreter
  • A program you install on the computer where
    youll run scripts
  • Changes the script into instructions the computer
    can understand
  • Free!

21
Perl Interpreter Active Perl
  • http//www.activestate.com/Products/activeperl/ind
    ex.mhtml

22
Perl modules
  • Extend the language
  • Make it easier to do some kind of task
  • Examples
  • NetFTP
  • XMLParser
  • MARCRecord

23
Input
  • A text file that you want the script to do
    something with
  • A script can also get some info from the computer
    (like date time)

24
Output
  • A text file created by the Perl script
  • Could be HTML, XML, MARC, RSS feed, etc.
  • Or, could be just something normal for you to
    look at, print, paste into a report, etc.

25
In summary, the components
  • A computer
  • A text editor
  • A Perl script
  • A Perl interpreter
  • Perl modules if needed by the script
  • Input
  • Output created by the Perl script

26
  • Questions so far?

27
Beyond the Basics
  • If you want, and you have everything you need for
    this, you can automate the running of scripts.
  • Some libraries automate the running of Create
    Lists, process the output with a Perl script, and
    output an HTML file directly on their web
    servers.
  • Of course, you can create and post a web page
    without doing it this way.

28
Beyond the basicsExpect
  • An Expect script logs into the character-based
    system, runs Create Lists, and produces the input
    for a Perl script.

29
  • Actually, Expect scripts can do just about
    anything in the character-based system.

30
Beyond the basicsScheduling an Expect script
  • UNIX cron
  • Windows Scheduled Tasks

31
Beyond the basicsE-mail pipe method
  • UNIX mail servers only (probably)
  • Receives e-mail and uses /etc/aliases file to
    pipe the e-mail to a Perl script on that server

32
Beyond the basics Output
  • Save the output file to the live directory on a
    web server or intranet server.
  • Its easier if your mail and web are on the same
    server.

33
Beyond the basics,putting it all together
  • Scheduling Expect email pipe method web
    server

34
Other advanced uses
  • Using a Perl script to
  • Construct a database
  • Query a database
  • Interact with another script
  • Communicate with another computer

35
What Libraries Are Doing with Perl
  • Create Lists
  • Prepare Bib Patron Data for Loading
  • OPAC functionality
  • Circulation
  • System administration

36
Create Lists How Perl Can Help
  • Reformat the output of Create Lists to
  • Create a web page.
  • Create an RSS feed.
  • Etc.

37
Create Lists How Perl Can Help
  • Bring out data that Create Lists can't display.
  • Further refine your Create Lists query.
  • Save the data in a different database (like
    MySQL).

38
  • Simple Examples of Using Perl with Create Lists
    for the Public

39
  • Creates a web page thats a list of circulating
    videos from Create Lists output
  • http//library.mills.edu/screens/videocirc.html
  • Mills College
  • Script available from Alma Garcia
    (almag_at_mills.edu)

40
(No Transcript)
41
  • Creates a web page thats a list of journals
    based on output from Create Lists
  • http//www.scripps.edu/library/open/all.html
  • The Scripps Research Institute

42
(No Transcript)
43
  • Creates an A-Z list of periodicals
  • http//library.truman.edu/search_articles/
  • electronic-journals.htm
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

44
(No Transcript)
45
  • Generates new items RSS feeds from create lists
    output.
  • http//library.bury.gov.uk/screens/new_items_feeds
    .html
  • Alan Brown
  • Bury Libraries
  • Script available at http//www.innovativeusers.org
    /
  • cgi-bin/clearinghouse/view.pl?id166

46
(No Transcript)
47
  • Creates web pages and RSS feeds of recent
    acquisitions grouped by broad subject area,
    department/program, and call number
  • http//library.lafayette.edu/collections/newacq
  • Bob Duncan
  • Lafayette College
  • Script available from duncanr_at_lafayette.edu

48
(No Transcript)
49
(No Transcript)
50
  • More Complex Examples of Using Perl with Create
    Lists for the Public

51
  • Creates a web page and RSS feeds of new items
    which can be narrowed by subject area, media,
    library, time (today, last month, last 6 months),
    and sorted by title, call number, or author
  • Uses Perl, MySQL, and Perl/Expect
  • http//trilogy.brynmawr.edu/cgi-bin/
  • newbooks/newbook.pl
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)

52
(No Transcript)
53
(No Transcript)
54
(No Transcript)
55
  • Creates a title browse for videos and DVD's which
    can be limited by format and limited to new
    titles Uses Perl to populate a MySQL database,
    with a PHP front end
  • http//library.truman.edu/videos/TrumanVideos/
  • videosPHP.php
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

56
(No Transcript)
57
  • Simple Examples of Using Perl with Create Lists
    for Staff

58
  • Creates a shelf list, delivered automatically to
    a printer, of items for which overdue notices are
    about to be sent so that Circulation staff can
    check the shelves before sending notices
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

59
  • Creates and sends e-mail notices to requestors,
    alerting them that materials they have ordered
    are available in the library
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

60
  • Finds items that are awaiting processing which
    have bib-level holds and notifies cataloging
    staff via email
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

61
  • Reads Create Lists output and creates files of
    OCLC numbers for batch update, which are then
    updated using an AutoIt script
  • Phil Youngholm
  • MARINet

62
  • More Complex Examples of Using Perl with Create
    Lists for Staff

63
  • Notifies selectors that their materials have
    arrived based on the selector field in order
    records
  • Uses Expect module for Perl
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)

64
  • Creates a list of items on reserve, sorted by
    course title
  • Uses Create Lists and Patron API
  • John D. Boggs
  • Peninsula Library System
  • boggs_at_plsinfo.org

65
  • Uses a monthly full MARC extract (using Data
    Exchange) and populates a rudimentary stock
    management tool generates reports from this
    database such as top issuing authors, missing
    items, and worn stock
  • Uses Perl and MySQL
  • Alan Brown
  • Bury Libraries

66
  • You Cant Do that with Create Lists but you can
    if you add Perl

67
  • Finds and reports duplicate patrons
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

68
  • Identifies duplicate copies for weeding
  • John Wenzler
  • San Francisco State University Library
  • jwenzler_at_sfsu.edu

69
  • Creates a web page of purchase alerts based on
    the holds per title ratio, based on output from
    Create Lists
  • http//odie.aadl.org/iug_clearinghouse/
  • pa_example.html
  • Glen Modell
  • Ann Arbor District Library
  • Script available at http//innovativeusers.org/
  • cgi-bin/clearinghouse/view.pl?id189

70
(No Transcript)
71
(No Transcript)
72
  • Prepare Bib Patron Data for Loading

73
  • Creates patron barcodes for incoming student data
    loads given a beginning barcode (without check
    digit)
  • Christopher King
  • Appalachian School Of Law
  • Script available at http//www.asl.edu/library/hal
    /pbargen.pl

74
  • Adds additional patron barcode field entries
    before loading patron records (the barcode
    without leading digits and the campus ID number)
  • Steve Sowder
  • Andrews University
  • Script available from sowder_at_andrews.edu

75
  • Creates MARC patron records from a delimited text
    file created from an Excel file received by the
    Admissions Office
  • Amy Moberly
  • California Western School of Law
  • Script available from alm_at_cwsl.edu

76
  • Extracts last four digits of phone number from
    Create lists output, inserts this as a PIN field,
    and creates a delimited file that can be turned
    into MARC format using MarcEdit
  • Phil Shirley
  • Cuyahoga Falls Library
  • Script available from pshirley_at_CuyahogaFallsLibrar
    y.org

77
  • Reorders the ISBN's in bib records, putting the
    10 digit ISBN first in order to use Amazon book
    jackets
  • Alan Brown
  • Bury Libraries

78
  • Rearranges data in MARC records for electronic
    resources to make them work with existing load
    tables easier than creating new load tables
    (uses MARC module for Perl)
  • Michael Kreyche
  • Kent State University

79
  • Creates a web-based system for retrieving,
    validating, reviewing, and manipulating MARC
    records, and documenting loads (uses Perl, the
    MARC module for Perl, and PHP)
  • Michael Kreyche
  • Kent State University

80
  • Coverts a special collection from excel files to
    MARC
  • Ann Anderson
  • The Boeing Company

81
  • Converts data into a format to feed in an
    enterprise search
  • Ann Anderson
  • The Boeing Company

82
  • Cleans and separates data in MARC records for
    uploading to union catalogs and other services
  • Alan Brown
  • Bury Libraries

83
  • OPAC Functionality

84
  • Creates a catalog feature allowing patrons to
    navigate through Library of Congress call number
    outlines to class number level, where patrons can
    search by that class number, search the
    associated subject heading, find most popular
    titles in a class, and more.
  • http//bullpup.lib.unca.edu/scripts/lcclass/outlin
    e.htm
  • Mark StoffanWestern North Carolina Library
    Network

85
(No Transcript)
86
(No Transcript)
87
(No Transcript)
88
(No Transcript)
89
  • Creates a feature in the web OPAC which allows
    patrons to send SMS messages to their phones with
    title, shelving location and call number of any
    item (uses Javascript, HTML, and Perl).
  • http//tripod.brynmawr.edu/
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)
  • Script available at http//www.innovativeusers.org
    /cgi-bin/
  • clearinghouse/view.pl?id187

90
(No Transcript)
91
(No Transcript)
92
(No Transcript)
93
  • Includes Syndetics and Google Books data in
    catalog records (using Perl and Javascript).
  • http//tripod.brynmawr.edu/
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)

94
  • Circulation

95
  • Updates ITYPEs for ILL materials that have not
    been checked out (as loan periods for ILL's are
    controlled through ITYPE at this library), and
    notifies ILL staff when such materials should be
    returned to the lending library
  • Stephen Wynn
  • Truman State University
  • Script available from swynn_at_truman.edu

96
  • Posts Ariel document delivery to a web server
  • John Dillon
  • Saint Anselm College

97
  • Takes the web server log, a list of items for
    electronic resources, and a list of courses, and
    produces usage stats for each resource by course
  • Mark Huppert
  • The Australian National University
  • Script available at http//preview.tinyurl.com/68s
    6qm

98
  • Reformats paging slips and sends them to the
    appropriate groups for disposition.
  • Reformats and sends notices via e-mail
  • Ann Anderson
  • The Boeing Company

99
  • Creates and sends out courtesy notices
  • Sends e-mails to indicate that an item is in the
    mail for a patron (takes advantage of the Oracle
    back end)
  • Ann Anderson
  • The Boeing Company

100
  • System Administration

101
  • Logs into the character-based system to run
    reports and perform maintenance tasks (uses
    Expect module for Perl)
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)

102
  • Works with EZproxy and Patron API to allow users
    to verify on either PIN or last name
  • John D. Boggs
  • Peninsula Library System

103
  • Works with a proxy server for access to
    electronic resources
  • Steve Sowder
  • Andrews University

104
  • Synchronizes EZProzy and URL's in the catalog by
    creating a list of new or modified 856 fields and
    transforming them to EZProxy format (uses Perl
    Expect module, PHP, and MySQL)
  • Tri-Colleges (Bryn Mawr, Haverford, Swarthmore)

105
  • Examines CybraryN log files and calculates the
    number of users
  • Cuyahoga Falls Library

106
  • Processes a web form and e-mails the results
  • Cuyahoga Falls Library

107
Where to find more of other libraries' scripts
  • IUG Clearinghouse and listservhttp//www.innovat
    iveusers.org/

108
How to learn the Perl language
  • Books such as
  • Learning Perl by Randal Schwartz, Tom
    Christiansen, Larry WallA good book for
    beginners
  • Programming Perl Larry Wall, Tom Christiansen,
    Jon OrwantA great reference
  • Win32 Perl Programming by Dave RothGood for
    automating Windows functions

109
Another Resource
  • Perl4lib Perl for Libraries listserv and web
    site
  • http//Perl4lib.Perl.org/

110
Other tools
  • MarcEdit
  • Other scripting languages

111
Questions?
  • pshirley_at_CuyahogaFalls Library.org
Write a Comment
User Comments (0)
About PowerShow.com