17
(the language for getting your job done) Internet Programming Diana Hingst

(the language for getting your job done) Internet Programming Diana Hingst

Embed Size (px)

Citation preview

Page 1: (the language for getting your job done) Internet Programming Diana Hingst

(the language for getting your job done)

Internet Programming

Diana Hingst

Page 2: (the language for getting your job done) Internet Programming Diana Hingst

Dynamic programming language Intended to be practical (easy to use &

efficient) Widely adopted for its text processing One of “The Three P’s” (Perl, PHP,

Python) for writing web applications

Page 3: (the language for getting your job done) Internet Programming Diana Hingst

File system manipulation Database administration Client-server programming Secure programming Object-oriented programming GUI development

Page 4: (the language for getting your job done) Internet Programming Diana Hingst

Created by Larry Wall in 1987

Designed as a glue for Unix OS

Originally named “PEARL”

Figure 1: Larry Wall

Page 5: (the language for getting your job done) Internet Programming Diana Hingst

First Edition published in 1991 as a reference guide to Perl.

Previously, documentation was a single (very long) man page.

Perl 4 released.

Figure 2: Programming Perl Cover

Page 6: (the language for getting your job done) Internet Programming Diana Hingst

http://www.cpan.org/

Page 7: (the language for getting your job done) Internet Programming Diana Hingst

Answer: Both

1. Compiles into an intermediate format Optimizes & gives instant feedback

2. Interprets the intermediate format to execute

Page 8: (the language for getting your job done) Internet Programming Diana Hingst

#Comment $number = “4”; $string = “3 apples”; @array = (“couch”, “movie”, “drink”); %hash = (joe => ‘red’, sam => ‘blue’);

$a ** $b #a^b $a . $b #String Concatenation $a x $b #Repeat a b times

Page 9: (the language for getting your job done) Internet Programming Diana Hingst

$camels = ‘123’; print $camels + 1; # Prints 124

$a = “8”; print $a + “1”; # Prints 9 print $a . “1”; # Prints 81

Page 10: (the language for getting your job done) Internet Programming Diana Hingst

Open a text editor Save with file extension .pl (or .cgi)

We’ve located the PERL interpreter and told it we’re going to be working with a web browser or in a web environment

Page 11: (the language for getting your job done) Internet Programming Diana Hingst

Upload it to your web server Run the program in one of three ways

Link to it <a href=myscript.cgi>Click Here</a>

Write it into your HTML file <p><!--#include virtual=“myscript.cgi”-->

Action item of a form <form action=myscript.cgi>

Unix command line perl myscript.cgi

Page 12: (the language for getting your job done) Internet Programming Diana Hingst

Perl Code

HTML Code

Page 13: (the language for getting your job done) Internet Programming Diana Hingst

Data Tracing MechanismAutomatically determines which data was

derived from insecure sources Specially Protected Compartments

Able to safely execute Perl code that may be dangerous/insecure

Page 14: (the language for getting your job done) Internet Programming Diana Hingst

Rotate Banners Generate Text & HTML on the fly Set Cookies Provide Shopping Carts

Page 15: (the language for getting your job done) Internet Programming Diana Hingst

Amazon.com LiveJournal.com Ticketmaster.com IMDb.com

Page 16: (the language for getting your job done) Internet Programming Diana Hingst

Writing poems that can actually be compiled as legal Perl code.

if ((light eq dark) && (dark eq light)&& ($blaze_of_night{moon} ==

black_hole)&& ($ravens_wing{bright} ==

$tin{bright})){my $love = $you = $sin{darkness} + 1;};

Page 17: (the language for getting your job done) Internet Programming Diana Hingst

Programming Perl 2nd Edition http://websitehelpers.com/perl/ http://www.tizag.com/perlT/index.php http://www.linuxjournal.com/article/3394 http://en.wikipedia.org/wiki/Larry_Wall http://en.wikipedia.org/wiki/Perl http://www.foo.be/docs/tpj/issues/

vol5_1/tpj0501-0012.html