340 likes | 593 Views
Guide To UNIX Using Linux Third Edition. Chapter 9: Perl and CGI Programming. Objectives. Understand the basics of the Perl language Identify and use data types in Perl scripts Understand differences between the Awk program and Perl programming. Objectives (continued).
E N D
Guide To UNIX Using LinuxThird Edition Chapter 9: Perl and CGI Programming
Objectives • Understand the basics of the Perl language • Identify and use data types in Perl scripts • Understand differences between the Awk program and Perl programming Guide to UNIX Using Linux, Third Edition
Objectives (continued) • Access disk files in Perl • Use Perl to sort information • Set up a simple HTML Web page • Understand how Perl and CGI are used for creating Web pages Guide to UNIX Using Linux, Third Edition
Introduction to Perl Perl contains features found in other languages – it is very similar to C and also contains features found in Awk and shell programs Guide to UNIX Using Linux, Third Edition
Introduction to Perl (continued) Perl can be directed to read its input from the keyboard Guide to UNIX Using Linux, Third Edition
Introduction to Perl (continued) Perl uses decision structures such as if statements to control program flow Guide to UNIX Using Linux, Third Edition
Introduction to Perl (continued) Guide to UNIX Using Linux, Third Edition
Introduction to Perl (continued) Guide to UNIX Using Linux, Third Edition
Identifying Data Types • Data may be represented in Perl in a variety of ways: • Variables and constants • Scalars • Numbers • Strings • Arrays • Hashes Guide to UNIX Using Linux, Third Edition
Variables and Constants • Variables and constants are symbolic names that represent values stored in memory • The value of a variable can change while the program runs • The value of a constant does not change while the program runs Guide to UNIX Using Linux, Third Edition
Scalars • Scalars are simple variables that hold a number or a string • A string is any nonnumeric sequence of characters (including numbers treated as characters) • Scalar variable names begin with a dollar sign ($) Guide to UNIX Using Linux, Third Edition
Numbers • Numbers are stored as either signed integers, or as double-precision floating-point values • Numeric literals can be either integers or floating-point values • Perl uses an added convention with numeric literals to improve legibility: the underscore character (_) Guide to UNIX Using Linux, Third Edition
Strings • Sequences of any types of characters • Often used for logical analysis, sorts, or searches • String literals are usually delimited by either single (‘) or double quotes (“) • To put control and escape characters into strings, need to use \ notation, e.g., \n is a newline character Guide to UNIX Using Linux, Third Edition
Strings (continued) Guide to UNIX Using Linux, Third Edition
Strings (continued) The use of special codes determined the output of this Perl script Guide to UNIX Using Linux, Third Edition
Arrays • Variables that store an ordered list of scalar values accessed with numeric subscripts • An at sign (@) precedes the name of an array when assigning it values • Use the dollar sign ($) when processing the individual elements of an array • Subscripts are zero-based Guide to UNIX Using Linux, Third Edition
Hashes • Variables that represent key/value pairs • A percent sign (%) precedes the name of a hash variable when assigning it a value • Use the dollar sign ($) to refer to a single element of a hash Guide to UNIX Using Linux, Third Edition
Perl versus the Awk Program This Awk program counts comment lines in a file. Awk doesn’t use while-type statements for looping. Guide to UNIX Using Linux, Third Edition
How Perl Accesses Disk Files • Perl uses filehandles to reference files • A filehandle is the name for an I/O connection between Perl and the OS • Used to open, read, write, and close a file • 3 standard filehandles: STDIN, STDOUT, STDERR Guide to UNIX Using Linux, Third Edition
How Perl Accesses Disk Files (continued) • Can open a file • With an explicit open statement • By providing the file name at the command line (storing it in ARGV[0]) • Should always check for failure or EOF when opening a file Guide to UNIX Using Linux, Third Edition
How Perl Accesses Disk Files (continued) Perl can access a file by passing the filename on the command line Guide to UNIX Using Linux, Third Edition
Using Perl to Sort • Perl has a powerful sort operator • Can sort strings or numbers • Can sort in ascending or descending order • Advanced sorting operations allow you to define your own sorting routine Guide to UNIX Using Linux, Third Edition
Using Perl to Sort Alphanumeric Fields You can sort words in a Perl program into alphabetical order using the sort function Guide to UNIX Using Linux, Third Edition
Using Perl to Sort Numeric Fields You can sort numeric fields in a Perl program by using a sort subroutine Guide to UNIX Using Linux, Third Edition
Setting Up a Web Page • Web pages can be created using HTML (Hypertext markup Language) • HTML is a format for creating documents with embedded tags • Tags give the document special properties when it is viewed in a Web browser Guide to UNIX Using Linux, Third Edition
Setting Up a Web Page (continued) • Hyperlinks load another document into the browser when clicked • Web pages are published on a web server • Apache is a common Web server software • Linux has a loopback networking feature • Lets you access your own system as if it were an external network • Useful for testing Web pages before publishing Guide to UNIX Using Linux, Third Edition
Creating a Simple Web Page • Two ways to create HTML documents: • Typing the text and desired embedded tags • Using a visual HTML editor • Two main parts to HTML code • Head contains the title, which appears on the top bar of the browser window • Body defines what appears in the browser window Guide to UNIX Using Linux, Third Edition
Creating a Simple Web Page (continued) An HTML document viewed in Mozilla Guide to UNIX Using Linux, Third Edition
CGI Overview • CGI (Common Gateway Interface) is a protocol, or set of rules, governing how browsers and servers communicate • Scripts that send or receive information from a server need to follow the CGI protocol • Perl is the most commonly used language for CGI programming Guide to UNIX Using Linux, Third Edition
CGI Overview (continued) • Perl scripts are written to get, process, and return information through Web pages (dynamic pages) • Main objects in dynamic Web pages are forms that allow you to collect input data from a Web page and send it to a server Guide to UNIX Using Linux, Third Edition
CGI Overview (continued) This Web page contains a form that collects information from a user to submit to a server via CGI Guide to UNIX Using Linux, Third Edition
Chapter Summary • Perl is a interpreted scripting language that can be combined with CGI to create interactive Web pages • Perl blends features found in C, Awk, and shell programs • Perl includes • An if-else statement as a decision structure • Numeric and string relational operators • Arithmetic operators Guide to UNIX Using Linux, Third Edition
Chapter Summary • Perl’s data types include numbers, strings, arrays, and hashes • Perl and Awk are both good for applications requiring pattern matching • Unlike Awk, Perl includes an explicit while looping structure • Perl includes a powerful sort feature Guide to UNIX Using Linux, Third Edition
Chapter Summary • Web pages are created using Hypertext Markup Language (HTML) • An HTML document contains embedded tags that specify document properties and links to other pages • CGI is a protocol or set of rules governing how browsers and servers communicate Guide to UNIX Using Linux, Third Edition