Perl Practical Extraction and Report Language

Slides:



Advertisements
Similar presentations
Chapter 25 Perl and CGI (Common Gateway Interface)
Advertisements

Lecture 11 Server Side Interaction
A Guide to Unix Using Linux Fourth Edition
CSE S. Tanimoto Perl Introduction 1 Perl Practical Extraction and Report Language Perl: Developed by Larry Wall in the late 1980s. Builds on...
Introduction to PHP. PHP Origins Rasmus LerdorfRasmus Lerdorf (born Greenland, ed Canada) PHP originally abbreviation for ‘Personal Home Pages’, now ‘PHP.
Introduction to Perl Learning Objectives: 1. To introduce the features provided by Perl 2. To learn the basic Syntax & simple Input/Output control in Perl.
PZ15A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ15A - The Internet Programming Language Design and.
Scripting Languages. Originally, a script was a file containing a sequence of commands that needed to be executed Control structures were added to make.
Perl Lecture #1 Scripting Languages Fall Perl Practical Extraction and Report Language -created by Larry Wall -- mid – 1980’s –needed a quick language.
Introduction to Perl Software Tools. Slide 2 Introduction to Perl l Perl is a scripting language that makes manipulation of text, files, and processes.
Guide To UNIX Using Linux Third Edition
CSE S. Tanimoto Perl Introduction 1 Perl Practical Extraction and Report Language Shell-level scripting language: Glue that ties together programs.
CGI Programming: Part 1. What is CGI? CGI = Common Gateway Interface Provides a standardized way for web browsers to: –Call programs on a server. –Pass.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Chapter 6: Hostile Code Guide to Computer Network Security.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 25 – Perl and CGI (Common Gateway Interface) Outline 25.1 Introduction 25.2 Perl 25.3 String Processing.
COMP An Introduction to Computer Programming : University of the West Indies COMP6015 An Introduction to Computer Programming Lecture 03.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
1 Perl Perl basics Perl Elements Arrays and Hashes Control statements Operators OOP in Perl.
2 1 Sending Data Using a Hyperlink CGI/Perl Programming By Diane Zak.
CSU - DCE Advanced Perl CGI Operation - Fort Collins, CO Copyright © XTR Systems, LLC Introduction to the Common Gateway Interface (CGI) on the.
CS 105 Perl: Course Introduction Nathan Clement 13 May 2014.
Topic 1: Welcome CSE2395/CSE3395 Perl Programming.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Chapter Nine Perl and CGI Programming. 2 Objectives Basic features of Perl language Set up an HTML Web page Use Perl and CGI scripts to make your web.

CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
Introduction to Perl Yupu Liang cbio at MSKCC
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
An Overview of Perl A language for Systems and Network Administration and Management: An overview of the language.
CSE S. Tanimoto Perl-Intro - 1 Perl Practical Extraction and Report Language Shell-level scripting language: Glue that ties together programs written.
Web Programming Overview. Introduction HTML is limited - it cannot manipulate data How Web pages are extended (include): –Java: an object-oriented programming.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
 History  Ease of use  Portability  Standard  Security & Privacy  User support  Application &Popularity Today  Ten Most Popular Programming Languages.
1 PHP Intro PHP Introduction After this lecture, you should be able to: Know the fundamental concepts of Web Scripting Languages in general, PHP in particular.
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
PZ02CX Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ02CX - Perl Programming Language Design and Implementation.
Dept. of Animal Breeding and Genetics Programming basics & introduction to PERL Mats Pettersson.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 10/11/2006 Lecture 7 – Introduction to C.
Perl Ed Finegan. Overview of Pearl Perl is a high-level programming language written by Larry Wall. It derives from the C programming language and to.
1 CGI (Common Gateway Interface) CmpE 587 Emir Bayraktar Onur Bük.
1 The Internet Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
University of Kansas Department of Electrical Engineering and Computer Science Dr. Susan Gauch April 21, 2005 I T T C Introduction to Web Technologies.
Introduction to PHP. PHP Origins Rasmus LerdorfRasmus Lerdorf (born Greenland, ed Canada) PHP originally abbreviation for ‘Personal Home Pages’, now ‘PHP.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 10/9/2006 Lecture 6 – String Processing.
Web Database Programming Using PHP
Introduction to Perl: Practical extraction and report language
The language focusses on ease of use
CS 330 Class 7 Comments on Exam Programming plan for today:
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
PERL.
PERL.
Web Database Programming Using PHP
Perl Programming Language Design and Implementation (4th Edition)
Cory Redmond Zachary Trim Jeffery Dumas
Programming Basics Web Programming.
PHP / MySQL Introduction
PHP Introduction.
Intro to PHP & Variables
CGI Programming Part II UNIX Security
Perl Practical Extraction and Report Language
Web DB Programming: PHP
HYPERTEXT PREPROCESSOR BY : UMA KAKKAR
What is Perl? PERL--Practical Extraction and Report Language
Intro to PHP.
Server Side Programming Overview And file system basics
Perl Practical Extraction and Report Language
Introduction to Perl Learning Objectives:
Presentation transcript:

Perl Practical Extraction and Report Language Perl: Developed by Larry Wall in the late 1980s. Builds on... sh awk sed c Perl is a fully general programming language, but it’s particularly well-adapted to processing “text”. CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Scripting Languages Scripting in Drama: programming the sequence of actor’s actions and utterances. A play is represented by a script. Scripting in software systems: programming a sequence of operations to be performed by a software system. Scripting operations are typically higher-level operations than machine instructions, typically application-oriented. Examples: Gnu Emacs is scripted with elisp. The GIMP (Gnu Image Manipulation Program) is scripted with a dialect of Scheme. Shell-level scripting language: Glue that ties together programs written in other languages. CSE 341 -- S. Tanimoto Perl Introduction

Is Scripting a Paradigm? No, not like functional programming or object-oriented programming. Scripting does not seem to require a different model for how computation works. Yet there are noticeable patterns that arise in scripts for particular types of applications. In CGI scripting for the web, many scripts begin by collecting input data, using it to access a database, and then they output a web page. But yes, we can view scripting as a paradigm, in the general sense of the word as a model or example of a way of programming. CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Perl and the Web One-pass compilation means Perl programs can be efficiently compiled on demand. Perl makes it easy to process text (and generate HTML!). With contributed modules in the CPAN library, Perl has become a defacto standard for CGI programming on the Web, esp. on Unix servers. CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Perl vs Java Server vs Client... Input info may be too sensitive to send over the net to an applet. Applet downloading and startup cause high latency. No special browser plugins are needed, since Perl doesn’t run in the browser. CSE 341 -- S. Tanimoto Perl Introduction

Perl has a “Little Language” philosophy Perl programs traditionally have been small. Perl itself, though not small, is to some extent a successor of awk and sed. Small numbers of variables means less concern about name conflicts... declarations not required. Perl grows out of a systems-programming context. Conciseness was valued over transparency. The meanings of language features are often dependent on context (e.g., list context vs scalar context). One system may consist of many Perl scripts. CSE 341 -- S. Tanimoto Perl Introduction

Comments on the Book by Sebesta A Little Book on Perl, by Robert W. Sebesta is a recent book (2000). It covers Perl 5.005. (Perl 5.8 has since come out, but Sebesta's book is generally consistent with it.) The book is clearly written and covers the right stuff. Sebesta is the author of a popular text on programming languages. CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Running a Perl Program Perl was originally intended for use under Unix, but has since been ported to the PC. We’ll assume a Unix (Linux) environment here. #!/usr/bin/perl print("Out of the oyster!\n"); # comment Make sure the file is executable: chmod +x howdy.pl Run the program from the command line: ./howdy.pl CSE 341 -- S. Tanimoto Perl Introduction

A Perl Script for the Web #!/usr/bin/perl print "Content-type: text/html\n\n"; $now = localtime(); print "<html><body>"; print "<h2>The time is $now\n"; print " </h2></body></html>"; CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Online help perldoc perl (overview) perldoc perlfaq (freq. asked questions) perldoc perldata (data structures) perldoc perlsyn (syntax) perldoc perlop (operators and precedence) perldoc perlre (regular expressions) perldoc perlrun (execution and options) perldoc -f split (info on a function) CSE 341 -- S. Tanimoto Perl Introduction

The Fundamental Data Types $n = 25; # a numeric scalar $str = "Here is a string"; print('The value of $n is ' . $n); # Note strings with ' ' do not have # variable "interpolation" performed # But strings with " " DO have it. print("The value is $n."); CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction String Operations "string1" . "string2" # concatenation Can also be done using interpolation: $str1 = "abc"; $str2 = "def"; $newstr = "$str1$str2"; CSE 341 -- S. Tanimoto Perl Introduction

Support for processing text: Immediate, embedded (“Here”) Documents print << "END-OF-PRINT"; Hello there. This is a two-line immediate text doc. END-OF-PRINT CSE 341 -- S. Tanimoto Perl Introduction

Choice of Interpolating or Not $dollars = 64000; print <<”EOT”; The $dollars question. Are $dollars printed out here? EOT CSE 341 -- S. Tanimoto Perl Introduction

Choice of Interpolating or Not $dollars = 64000; print <<’EOT’; The $64000 question. Are $dollars printed out here? EOT CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Interpolation -- Not The $64000 question. Are $dollars printed out here? CSE 341 -- S. Tanimoto Perl Introduction

CSE 341 -- S. Tanimoto Perl Introduction Arrays In Perl, arrays are data structures that hold lists. @trees = ("Oak", "Maple", "Madrona"); @moretrees = qw(pine alter hemlock); @ages = (75, 50.5, "twenty"); $mytree = $trees[1]; # "Maple" CSE 341 -- S. Tanimoto Perl Introduction

Hashes (Associative Arrays) $foodtype{"Spaghetti"} = "Italian"; $thetype = $foodtype{"Spaghetti"}; foreach $food (keys %foodtype) { $thetype = $foodtype{$food}; print "Food $food is $thetype\n"; } CSE 341 -- S. Tanimoto Perl Introduction

Quick Example of CGI Processing: The HTML Form <html><body> <form method=post action="http://www.domain.edu/do-something.pl"> Type your user name: <input type=text name=username size=20> <input type=submit value="Click here"> </form> </body></html> CSE 341 -- S. Tanimoto Perl Introduction

CGI Processing: The Perl Script #!/usr/bin/perl use CGI qw/:standard/; $theName = param("username"); print "Content-type: text/html\n\n"; print " <html><body><h2>"; print " Your user name is $theName"; print "</h2></body></html>"; CSE 341 -- S. Tanimoto Perl Introduction