81
Copyright © 2010 Certification Partners, LLC -- All Rights Res Perl Specialist

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist

Embed Size (px)

Citation preview

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Perl Specialist

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 1:Introduction to Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Describe the benefits of Perl• Explain the role of the Perl interpreter• Identify the characteristics of Perl’s basic

syntax• Describe the use of the print function• Create and execute a simple Perl script• Define scalar variables• Use scalar variables to manipulate

numerical and string data• Use expression operators• Retrieve data from STDIN

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Practical Extractingand Reporting Language

• Why use Perl?– Innate flexibility– Simple syntax– Relaxed compiler instructions– Free

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Getting Started with Perl

• The shebang line• Creating a simple Perl script

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Scalar and Numerical Variables

• Assignment• Expressions

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

String Variables

• Second type of scalar variable• The print function

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Retrieving Data from STDIN

• The chomp() function

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary Describe the benefits of Perl Explain the role of the Perl interpreter Identify the characteristics of Perl’s basic

syntax Describe the use of the print function Create and execute a simple Perl script Define scalar variables Use scalar variables to manipulate

numerical and string data Use expression operators Retrieve data from STDIN

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 2:Flow Control in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Evaluate Boolean expressions• Construct an if statement• Discuss else and elsif branches• Construct a while loop• Construct a do {} while loop• Construct a for loop• Use loop labels• Describe the I/O redirection paradigm

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Boolean Expressions in Perl

• Numeric Boolean expressions• String Boolean expressions• Logical operators

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The if Statement

• The else branch• The elsif branch

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The while Statement

• Second type of control structure• Defines a block of code that will be

executed repeatedly as long as some Boolean expression evaluates as true

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The do { } while Statement

• Similar to the while loop except that the condition is not evaluated until the code block has already been executed once

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The for Statement

• Includes three expressions separated by semicolons

• Incorporates facilities for initializing a counter and incrementing it on each turn through the code block

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Loop-Control Commands

• last• next• redo

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

I/O Redirection

• Many Perl scripts use I/O redirection in place of more complicated file-handling subroutines

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Evaluate Boolean expressions Construct an if statement Discuss else and elsif branches Construct a while loop Construct a do {} while loop Construct a for loop Use loop labels Describe the I/O redirection paradigm

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 3:Regular Expressions in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Define regular expressions• Perform pattern matching• Define and use metacharacters• Explain character classes• Define quantifiers and assertions• Perform substitution• Use the binding operator

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction toRegular Expressions

• Pattern binding operators• Escape sequences and metacharacters

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Character Classes

• Indicate a list of characters that one element in a string will match

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Pattern Matching and Substitution

• Back references

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Define regular expressions Perform pattern matching Define and use metacharacters Explain character classes Define quantifiers and assertions Perform substitution Use the binding operator

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 4:Arrays in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Describe the purpose of arrays• Define arrays using lists• Access array elements• Use the sort function to sort an array

alphabetically• Use a foreach loop to traverse an array• Use the push and pop functions• Use the shift and unshift functions• Use the split and join functions

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Perl Arrays

• Initializing arrays• Accessing array elements

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The sort Function

• Accepts an array as an argument, alphabetizes the elements within the array, and returns the resultant array

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The foreach Statement

• A special control structure designed to iterate through an array or list

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The push and pop Functions

• The push function adds values to the top of a stack

• The pop function removes values from a stack

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The shift and unshift Functions

• The unshift function adds a value to the front of an array and shifts the rest of the array by one

• The shift function removes values from an array

• Using an array as a queue

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The split and join Functions

• The split function accepts two arguments, a regular expression and a string

• The join function accepts a list of values and combines them into a single string

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Describe the purpose of arrays Define arrays using lists Access array elements Use the sort function to sort an array

alphabetically Use a foreach loop to traverse an array Use the push and pop functions Use the shift and unshift functions Use the split and join functions

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 5:Hashes in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Describe the purpose of hashes• Define hashes using lists• Access hash elements• Use the delete function• Use the keys function• Use the values function• Use the each function• Use the reverse function

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Perl Hashes

• Hashes are collections of scalar values that can be accessed individually

• Hash elements are accessed using an arbitrary scalar value, called a key

• Also known as associative arrays

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Adding and Deleting Hash Elements

• The delete function• The keys function• The values function• The each function• The reverse function

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Describe the purpose of hashes Define hashes using lists Access hash elements Use the delete function Use the keys function Use the values function Use the each function Use the reverse function

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 6:Subroutines in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Define and use a subroutine• Call subroutines directly and indirectly• Pass values to a subroutine• Return a value from a subroutine• Explain variable scope • Pass references to a subroutine

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Perl Subroutines

• Defining subroutines• Calling subroutines• Passing arguments• Returning values• The sort function and subroutines

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Variable Scope

• Variables can be created within subroutines that are private (specific) to just that subroutine using the my operator– The my operator takes a scalar, array, or

hash name and instantiates local versions inside a subroutine

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

References

• Creating and referencing anonymous arrays• Creating and referencing anonymous

hashes• Passing references to subroutines

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Define and use a subroutine Call subroutines directly and indirectly Pass values to a subroutine Return a value from a subroutine Explain variable scope Pass references to a subroutine

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 7:File Input and Output

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Define and use filehandles• Obtain a filehandle using the open function• Output data to a file• Close a file using the close function• Open a file for reading• Use the stat and lstat functions to obtain

information about a file

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Perl File Input and Output

• What is a filehandle?• The open function• Outputting data to a file• Opening files for reading• Other file-related functions• Determining information about files• The stat and lstat functions

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Define and use filehandles Obtain a filehandle using the open function Output data to a file Close a file using the close function Open a file for reading Use the stat and lstat functions to obtain

information about a file

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 8:Environment Variables

and Command Line Arguments

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Access and use environment variables• Use command line arguments• Define options when handling command

line arguments

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Environment Variables

• What are environment variables?– Shells

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Command Line Arguments

• Arguments entered at the command line can be used in Perl programs

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Access and use environment variables Use command line arguments Define options when handling command

line arguments

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 9:Packages and Modules in Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Describe the purpose of packages• Use the package keyword• Use BEGIN and END blocks• Describe the purpose of modules• Create a module to facilitate code reuse• Incorporate a module into your Perl scripts

using the use and require statements• Use the Exporter module

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Using Packages in Perl

• Namespace• The package keyword• Package symbol tables

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

BEGIN and END Blocks

• Special blocks of code defined within a package

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Using Modules in Perl

• Specially designed Perl scripts that package functionality for reuse by other Perl scripts

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The use and require Statements

• The require statement takes a single argument (the name of the module to include)

• The use statement adds symbols directly to the including package’s symbol table

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Describe the purpose of packages Use the package keyword Use BEGIN and END blocks Describe the purpose of modules Create a module to facilitate code reuse Incorporate a module into your Perl scripts

using the use and require statements Use the Exporter module

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 10:Object-Oriented Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Describe the purpose of objects• Define objects for use in your Perl scripts• Access object data• Define and use object methods• Use inheritance to expand the functionality

of a class

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Object-Oriented Perl

• Creating objects• Object data• Object methods

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Inheritance

• @ISA array• Destructor methods

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Describe the purpose of objects Define objects for use in your Perl scripts Access object data Define and use object methods Use inheritance to expand the functionality

of a class

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 11:Database Connectivity and Perl

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Define database programming• Explain the benefits of using a database• Define and use the Database Interface Module (DBI) • Define and use the Database Driver Module (DBD) • Open a database connection• Close a connection to a database• Query a database• Define and use the Structured Query Language

(SQL) • Return records from a database• Insert records into a database

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Database Connectivity

• Database programming• Database Interface Module• Database Driver Module

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Interacting with Databases

1. Connect to the database2. Query the database3. Display the results4. Close the connection

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Connecting to Databases

• The connect method

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Structured Query Language

• Data Definition Language– CREATE– DROP

• Data Query Language• Data Manipulation Language

– INSERT– DELETE– UPDATE

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Quoting Operators

• Perl includes quoting operators that can be used instead of single or double quotation marks

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary Define database programming Explain the benefits of using a database Define and use the Database Interface Module (DBI) Define and use the Database Driver Module (DBD) Open a database connection Close a connection to a database Query a database Define and use the Structured Query Language

(SQL) Return records from a database Insert records into a database

Copyright © 2010 Certification Partners, LLC -- All Rights Reserved

Lesson 12:Debugging Perl Programs

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Objectives

• Debug Perl programs• Use the –w switch• Use the strict module• Trace the execution of a Perl script• Issue commands to the Perl debugger• Design Perl scripts to minimize bugs

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Introduction to Debugging Perl Scripts

• Using the print command• Using the –w switch• Using the strict module

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

The Perl Debugger

• Traps and fixes errors in a Perl script• An interactive Perl environment wherein the

user is prompted for debugger commands

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Writing Bug-Free Perl Code

• Preventing errors• Common Perl errors

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Summary

Debug Perl programs Use the –w switch Use the strict module Trace the execution of a Perl script Issue commands to the Perl debugger Design Perl scripts to minimize bugs

Perl SpecialistCopyright © 2010 Certification Partners, LLC -- All Rights Reserved

Perl Specialist

Introduction to Perl Flow Control in Perl Regular Expressions in Perl Arrays in Perl Hashes in Perl Subroutines in Perl File Input and Output Environment Variables and Command Line Arguments Packages and Modules in Perl Object-Oriented Perl Database Connectivity and Perl Debugging Perl Programs