learning perl - inkdroidweb development homegrown databases systems administration: email,...

33
Learning Perl Ed Summers

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Learning Perl

Ed Summers

Page 2: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

The Plan

What is Perl?

Perl Basics

Perl Modules

Perl and MARC

Page 3: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

What is

Perl?

Page 4: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

1. Preheat oven to 375° F.2. Combine flour, baking soda and salt in small bowl. 3. Beat butter, granulated sugar, brown sugar and vanilla

extract in large mixer bowl until creamy. 4. Add eggs one at a time, beating well after each addition.5. Gradually beat in flour mixture. 6. Stir in morsels and nuts. 7. Drop by rounded tablespoon onto ungreased baking sheets.8. Bake for 9 to 11 minutes or until golden brown. 9. Cool on baking sheets for 2 minutes.

Everyday Programming

Page 5: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Programmingin Libraries?

Online Catalogs

Web Sites

Homegrown Databases

Data Services: Census Data, GIS, etc...

Public Access Computing

Page 6: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

There are lots of

languages

2,500 at last

count!!

Page 7: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Popular Languagesin Libraries

CC++Java

PythonPHP

Visual BasicC#Perl

Page 8: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

PerlCreated by Larry Wall at JPL in 1987

Open Source

C, Lisp, Csh, Pascal, Awk, Sed, Smalltalk

Practical Extraction and Reporting Language

... or Pathologically Eclectic Rubbish Lister

Page 9: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Natural Languages

Learn it once, use it many times.

Learn as you go.

Many acceptable levels of competence.

Multiple ways of saying the same thing.

No shame in borrowing.

Cooperative design.

Page 10: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

CPAN

Comprehensive Perl Archive Network

Thousands of free extensions to Perl available.

Page 11: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Perl in LibrariesWeb Development

Homegrown Databases

Systems Administration: email, monitoring tools, proxies, log analysis ...

Data Processing: MARC, Z39.50, XML, RDF, Web Services ...

Page 12: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

PerlBasics

Page 13: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Hello World

Page 14: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Building Blocks

Page 15: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Variables

$ @ %

Page 16: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

$ Strings $

Page 17: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

$ Numbers $

Page 18: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

@ Arrays @

Page 19: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

@ Combining @

Page 20: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

% Hashes %

Page 21: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

Flow Control

Page 22: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

if

Page 23: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

if/else

Page 24: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

input

Page 25: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

while

Page 26: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

foreach

Page 27: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

for

Page 28: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

subroutines

Page 29: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

require

Page 30: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

modules

Page 31: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

objects

Page 32: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web

combing some stuff

Page 33: Learning Perl - inkdroidWeb Development Homegrown Databases Systems Administration: email, monitoring tools, proxies, log analysis ... Data Processing: MARC, Z39.50, XML, RDF, Web