Copyright © 2003 ProsoftTraining. All rights reserved.
PerlFundamentals
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 1:Introduction to Perl
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
Practical Extractingand Reporting Language
• Why use Perl?– Innate flexibility– Simple syntax– Relaxed compiler instructions– Free
Getting Startedwith Perl
• The shebang line• Creating a simple Perl script
Scalar andNumerical Variables
• Assignment• Expressions
String Variables
• Second type of scalar variable• The print function
RetrievingData from STDIN
• The chomp() function
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 © 2003 ProsoftTraining. All rights reserved.
Lesson 2:Flow Control
in Perl
Objectives
• Evaluate Boolean expressions• Construct an if statement• Discuss else and elsif branches• Construct a while loop, a do {} while loop,
and a for loop• Use loop-control commands• Describe the I/O redirection paradigm
BooleanExpressions in Perl
• Numeric Boolean expressions• String Boolean expressions• Logical operators
The ifStatement
• The else branch• The elsif branch
The whileStatement
• Second type of control structure• Defines a block of code that will be executed
repeatedly as long as some Boolean expression evaluates as true
The do { } whileStatement
• Similar to the while loop except that the condition is not evaluated until the code block has already been executed once
The forStatement
• Includes three expressions separated by semicolons
• Incorporates facilities for initializing a counter and incrementing it on each turn through the code block
Loop-ControlCommands
• last• next• redo
I/O Redirection
• Many Perl scripts use I/O redirection in place of more complicated file-handling subroutines
Summary
Evaluate Boolean expressions Construct an if statement Discuss else and elsif branches Construct a while loop, a do {} while loop,
and a for loop Use loop-control commands Describe the I/O redirection paradigm
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 3:Regular
Expressions in Perl
Objectives
• Define regular expressions• Perform pattern matching• Define and use metacharacters, quantifiers
and assertions• Explain character classes• Perform substitution• Use the binding operator
Introduction toRegular Expressions
• Pattern binding operators• Escape sequences and metacharacters
Character Classes
• Indicate a list of characters that one element in a string will match
Pattern Matchingand Substitution
• Back references
Summary
Define regular expressions Perform pattern matching Define and use metacharacters, quantifiers
and assertions Explain character classes Perform substitution Use the binding operator
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 4:Arrays in Perl
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, pop, shift, unshift, split and join functions
Introductionto Perl Arrays
• Initializing arrays• Accessing array elements
The sortFunction
• Accepts an array as an argument, alphabetizes the elements within the array, and returns the resultant array
The foreachStatement
• A special control structure designed to iterate through an array or list
The push andpop Functions
• The push function adds values to the top of a stack
• The pop function removes values from a stack
The shift andunshift 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
The split andjoin 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
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, pop, shift, unshift, split and join functions
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 5:Hashes in Perl
Objectives
• Describe the purpose of hashes• Define hashes using lists• Access hash elements• Use the delete, keys, values, each, and reverse functions
Introductionto 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
Adding andDeleting Hash Elements
• The delete function• The keys function• The values function• The each function• The reverse function
Summary
Describe the purpose of hashes Define hashes using lists Access hash elements Use the delete, keys, values, each, and reverse functions
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 6:Subroutines
in Perl
Objectives
• Define and use a subroutine• Call subroutines directly and indirectly• Pass values to a subroutine• Pass references to a subroutine• Explain variable scope• Return a value from a subroutine
Introductionto Perl Subroutines
• Defining subroutines• Calling subroutines• Passing arguments• Returning values• The sort function and subroutines
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
References
• Creating and referencing anonymous arrays• Creating and referencing anonymous hashes• Passing references to subroutines
Summary
Define and use a subroutine Call subroutines directly and indirectly Pass values to a subroutine Pass references to a subroutine Explain variable scope Return a value from a subroutine
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 7:File Input
and Output
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 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
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 © 2003 ProsoftTraining. All rights reserved.
Lesson 8:Environment Variables
and Command Line Arguments
Objectives
• Access and use environment variables• Use command line arguments• Define options when handling command line
arguments
Environment Variables
• What are environment variables?– Shells
Command LineArguments
• Arguments entered at the command line can be used in Perl programs
Summary
Access and use environment variables Use command line arguments Define options when handling command line
arguments
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 9:Packages and Modules in Perl
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
Using Packages in Perl
• Namespace• The package keyword• Package symbol tables
BEGIN and END Blocks
• Special blocks of code defined within a package
UsingModules in Perl
• Specially designed Perl scripts that package functionality for reuse by other Perl scripts
The use andrequire 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
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 © 2003 ProsoftTraining. All rights reserved.
Lesson 10:Object-Oriented Perl
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
Introduction toObject-Oriented Perl
• Creating objects• Object data• Object methods
Inheritance
• @ISA array• Destructor methods
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 © 2003 ProsoftTraining. All rights reserved.
Lesson 11:Database
Connectivity and Perl
Objectives
• Define database programming• Explain the benefits of using a database• Define and use the DBI, the DBD, and SQL• Open a database connection• Query a database• Return records from a database• Insert records into a database• Close a connection to a database
Introduction toDatabase Connectivity
• Database programming• Database Interface Module• Database Driver Module
Interactingwith Databases
1. Connect to the database
2. Query the database
3. Display the results
4. Close the connection
Connectingto Databases
• The connect method
StructuredQuery Language
• Data Definition Language– CREATE– DROP
• Data Query Language• Data Manipulation Language
– INSERT– DELETE– UPDATE
QuotingOperators
• Perl includes quoting operators that can be used instead of single or double quotation marks
Summary
Define database programming Explain the benefits of using a database Define and use the DBI, the DBD, and SQL Open a database connection Query a database Return records from a database Insert records into a database Close a connection to a database
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 12:Debugging
Perl Programs
Objectives
• Debug Perl programs• Use the –w switch• Use the strict module• Issue commands to the Perl debugger• Trace the execution of a Perl script• Design Perl scripts to minimize bugs
Introduction toDebugging Perl Scripts
• Using the print command• Using the –w switch• Using the strict module
The PerlDebugger
• Traps and fixes errors in a Perl script• An interactive Perl environment wherein the
user is prompted for debugger commands
WritingBug-Free Perl Code
• Preventing errors• Common Perl errors
Summary
Debug Perl programs Use the –w switch Use the strict module Issue commands to the Perl debugger Trace the execution of a Perl script Design Perl scripts to minimize bugs
Perl Fundamentals
Introduction to Perl Flow Control in Perl Regular Expressions in Perl Arrays in Perl Hashes in Perl Subroutines in Perl File Input and Output in Perl
PerlFundamentals
Environment Variables and Command Line Arguments
Packages and Modules in Perl Object-Oriented Perl Database Connectivity and Perl Debugging Perl Programs