1.11k likes | 1.27k Views
What Perl can do for you. Phil Shirley Cuyahoga Falls Library. 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. Goals. 2. Learn how libraries use Perl
E N D
What Perl can do for you Phil Shirley Cuyahoga Falls Library
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
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
This presentation will not teach you anything about the Perl programming language or how to write, edit, or troubleshoot Perl scripts
Overview • What is Perl • What you need • Beyond the basics • What libraries are doing with Perl • Resources
Dear computer, Please take that file I just saved and give me a summary report. kthxbye
“Great, somebody posted a Perl script to do exactly what I need! I wish I knew how to use it.”
What Perl Is Perl is a general purpose programming language that’s especially good at manipulating text.
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.
Still, we use the word “programming” to refer to creating scripts.
Some write it “PERL” • “Practical Extraction and Report Language” • Actually this is a backronym, just like “Gentlemen Only, Ladies Forbidden” (Golf).
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
Computer • Your workstation (Windows, Mac, etc.) • Just about any server (web, e-mail, Windows, etc.) • Almost never your Innovative server
Which computer you use depends on the particular task and/or what computers you have access to.
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
Text Editors • Not Microsoft Word, Wordpad, etc. • Built-in: • Notepad (Windows) • SimpleText or TextEdit (Mac) • Other specialized editors for programming exist
Perl script • A plain text file that you write (or copy from somebody else) • Written in the Perl language • Looks like this:
#!c:\perl\bin\perl.exe print "Hello World!";
Perl interpreter • A program you install on the computer where you’ll run scripts • Changes the script into instructions the computer can understand • Free!
Perl Interpreter: Active Perl http://www.activestate.com/Products/activeperl/index.mhtml
Perl modules • Extend the language • Make it easier to do some kind of task • Examples • Net::FTP • XML::Parser • MARC::Record
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)
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.
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]
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.
Beyond the basics:Expect An Expect script logs into the character-based system, runs Create Lists, and produces the input for a Perl script.
Actually, Expect scripts can do just about anything in the character-based system.
Beyond the basics:Scheduling an Expect script • UNIX: cron • Windows: Scheduled Tasks
Beyond the basics:E-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
Beyond the basics: Output • Save the output file to the live directory on a web server or intranet server. • It’s easier if your mail and web are on the same server.
Beyond the basics,putting it all together: Scheduling + Expect + email pipe method + web server
Other advanced uses • Using a Perl script to: • Construct a database • Query a database • Interact with another script • Communicate with another computer
What Libraries Are Doing with Perl • Create Lists • Prepare Bib & Patron Data for Loading • OPAC functionality • Circulation • System administration
Create Lists: How Perl Can Help • Reformat the output of Create Lists to: • Create a web page. • Create an RSS feed. • Etc.
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).
Simple Examples of Using Perl with Create Lists for the Public
Creates a web page that’s a list of circulating videos from Create Lists output http://library.mills.edu/screens/videocirc.html Mills College Script available from Alma Garcia (almag@mills.edu)
Creates a web page that’s a list of journals based on output from Create Lists http://www.scripps.edu/library/open/all.html The Scripps Research Institute
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@truman.edu
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?id=166
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@lafayette.edu
More Complex Examples of Using Perl with Create Lists for the Public