Transcript Document

Perl
Fundamentals
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 1:
Introduction to Perl
Copyright © 2003 ProsoftTraining. 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
Practical Extracting
and Reporting Language
• Why use Perl?
– Innate flexibility
– Simple syntax
– Relaxed compiler instructions
– Free
Getting Started
with Perl
• The shebang line
• Creating a simple Perl script
Scalar and
Numerical Variables
• Assignment
• Expressions
String
Variables
• Second type of scalar variable
• The print function
Retrieving
Data 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
Lesson 2:
Flow Control
in Perl
Copyright © 2003 ProsoftTraining. All rights reserved.
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
Boolean
Expressions in Perl
• Numeric Boolean expressions
• String Boolean expressions
• Logical operators
The if
Statement
• The else branch
• The elsif branch
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
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
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
Loop-Control
Commands
• 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
Lesson 3:
Regular
Expressions in Perl
Copyright © 2003 ProsoftTraining. All rights reserved.
Objectives
• Define regular expressions
• Perform pattern matching
• Define and use metacharacters, quantifiers
and assertions
• Explain character classes
• Perform substitution
• Use the binding operator
Introduction to
Regular Expressions
• Pattern binding operators
• Escape sequences and metacharacters
Character Classes
• Indicate a list of characters that one element in
a string will match
Pattern Matching
and 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
Lesson 4:
Arrays in Perl
Copyright © 2003 ProsoftTraining. 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, pop, shift, unshift,
split and join functions
Introduction
to Perl Arrays
• Initializing arrays
• Accessing array elements
The sort
Function
• Accepts an array as an argument,
alphabetizes the elements within the array,
and returns the resultant array
The foreach
Statement
• A special control structure designed to iterate
through an array or list
The push and
pop Functions
• The push function adds values to the top of a
stack
• The pop function removes values from a stack
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
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
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
Lesson 5:
Hashes in Perl
Copyright © 2003 ProsoftTraining. All rights reserved.
Objectives
•
•
•
•
Describe the purpose of hashes
Define hashes using lists
Access hash elements
Use the delete, keys, values, each, and
reverse functions
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
Adding and
Deleting 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
Lesson 6:
Subroutines
in Perl
Copyright © 2003 ProsoftTraining. All rights reserved.
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
Introduction
to 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
Lesson 7:
File Input
and Output
Copyright © 2003 ProsoftTraining. 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 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
Lesson 8:
Environment Variables
and Command Line Arguments
Copyright © 2003 ProsoftTraining. All rights reserved.
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 Line
Arguments
• 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
Lesson 9:
Packages and
Modules in Perl
Copyright © 2003 ProsoftTraining. 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
Using
Packages in Perl
• Namespace
• The package keyword
• Package symbol tables
BEGIN and
END Blocks
• Special blocks of code defined within a
package
Using
Modules in Perl
• Specially designed Perl scripts that package
functionality for reuse by other Perl scripts
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
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
Lesson 10:
Object-Oriented Perl
Copyright © 2003 ProsoftTraining. 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
Introduction to
Object-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
Lesson 11:
Database
Connectivity and Perl
Copyright © 2003 ProsoftTraining. All rights reserved.
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 to
Database Connectivity
• Database programming
• Database Interface Module
• Database Driver Module
Interacting
with Databases
1. Connect to the database
2. Query the database
3. Display the results
4. Close the connection
Connecting
to Databases
• The connect method
Structured
Query Language
• Data Definition Language
– CREATE
– DROP
• Data Query Language
• Data Manipulation Language
– INSERT
– DELETE
– UPDATE
Quoting
Operators
• 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
Lesson 12:
Debugging
Perl Programs
Copyright © 2003 ProsoftTraining. All rights reserved.
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 to
Debugging Perl Scripts
• Using the print command
• Using the –w switch
• Using the strict module
The Perl
Debugger
• Traps and fixes errors in a Perl script
• An interactive Perl environment wherein the
user is prompted for debugger commands
Writing
Bug-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
Perl
Fundamentals
 Environment Variables and Command Line
Arguments
 Packages and Modules in Perl
 Object-Oriented Perl
 Database Connectivity and Perl
 Debugging Perl Programs