170 likes | 339 Views
PERL. (the language for getting your job done) Internet Programming Diana Hingst. WHAT IS PERL?. 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.
E N D
PERL (the language for getting your job done) Internet Programming Diana Hingst
WHAT IS PERL? • 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
Common uses • File system manipulation • Database administration • Client-server programming • Secure programming • Object-oriented programming • GUI development
HISTORY Figure 1: Larry Wall • Created by Larry Wall in 1987 • Designed as a glue for Unix OS • Originally named “PEARL”
THE CAMEL BOOK Figure 2: Programming Perl Cover • First Edition published in 1991 as a reference guide to Perl. • Previously, documentation was a single (very long) man page. • Perl 4 released.
COMPREHENSIVE PERL ARCHIVE NETWORK (cpan) http://www.cpan.org/
Compiled? or interpreted? Answer: Both • Compiles into an intermediate format • Optimizes & gives instant feedback • Interprets the intermediate format to execute
Data types and operators • #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
Dynamic typing • $camels = ‘123’; • print $camels + 1; # Prints 124 • $a = “8”; • print $a + “1”; # Prints 9 • print $a . “1”; # Prints 81
Perl basics • 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
Perl cgi • 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
Embedded into html script • Perl Code • HTML Code
Security feature • Data Tracing Mechanism • Automatically determines which data was derived from insecure sources • Specially Protected Compartments • Able to safely execute Perl code that may be dangerous/insecure
Practical web uses • Rotate Banners • Generate Text & HTML on the fly • Set Cookies • Provide Shopping Carts
Websites using perl • Amazon.com • LiveJournal.com • Ticketmaster.com • IMDb.com
Perl poetry • 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; };
references • 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