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