Advanced Perl Programming
Revision: TE2602_20090927
- Course Length:
- 5 Days
- Course Description:
- The course begins with a thorough treatment of packages, modules, and libraries. Next, Perl references are studied. This gives students the necessary background to write object-oriented Perl. Various applications and areas that use object orientation are studied next. These modules include the Tk.pm module for building Graphical User Interfaces, the DBI.pm module, which provides a portable way of querying databases, the CGI.pm module for writing CGI programs, and the Socket.pm module used in client server networking applications. Finally a treatment of XML and Perl is undertaken.
- Who Should Attend:
- Programmers, end users, system administrators, network administrators, and CGI script writers should attend this course.
- Benefits of Attendance:
-
Upon completion of this course, students will be able to:
- Download, install, and use modules from the Comprehensive Perl Archive Network (CPAN).
- Use the modules in the Standard Perl Distribution.
- Write POD (Plain Old Documentation) sections of Perl modules.
- Use Perl references to solve many programming problems including those problems involving arbitrarily complex data structures.
- Distinguish among packages, modules, libraries, and classes and use each one effectively.
- Write client/server applications using the Socket.pm module.
- Write Graphical User Interfaces (GUIs) using the Tk.pm module.
- Write Perl CGI (Common Gateway Interface) scripts.
- Write Perl applications that make queries to real databases through the use of the DBI.pm module.
- Write Perl applications that produce and process XML documents.
- Prerequisites:
- Participants should be well-versed in the fundamentals of Perl.
- Course Outline:
-
- Chapter 1: What You Should Already Know
- Introduction
- A Quick Review of Perl
- Perl Libraries
- The Standard Perl Library
- Packages
- Modules
- Using .pm Modules
- Exporter.pm
- Standard Perl Modules
- Comprehensive Perl Archive Network (CPAN)
- Roman.pm
- Miscellaneous Perl Topics - wantarray
- Chapter 2: Associative Arrays
- Introduction
- Associative Arrays as Dual Arrays
- A Hashing Algorithm
- Collisions
- Associative Arrays
- Sorting by Keys or Values
- Finding Unique Tokens in a File
- Reverse Lookups
- Selecting the Top n Elements
- Chapter 3: References
- Introduction
- Summary of References
- Array References
- Anonymous Arrays
- Anonymous Hashes
- Prototypes
- Higher Dimensional Arrays
- Complex Hashes
- References and Subroutines
- Anonymous Subroutines
- Lists of References
- Chapter 4: Object-Oriented Programming
- Introduction
- Object-Oriented Vocabulary
- The class Definition
- Defining and Using Objects
- Information Hiding
- Instance Methods
- Destructors
- Class Methods
- Inheritance
- Polymorphism
- Documenting Perl Code
- IO.pm
- Chapter 5: The TK.PM Module
- Introduction
- Event Driven Programming
- Geometry Management
- pack()
- grid()
- grid()Options
- place(): Absolute Coordinates
- place(): Relative Coordinates
- The Label Widget
- The Button Widget
- The Checkbutton Widget
- The Radiobutton Widget
- The Dialog Widget
- Text Input Widgets
- The Listbox Widget
- Menus
- Frames
- Toplevel Widgets
- Bind
- Chapter 6: Client-Server Applications and CGI
- Introduction
- Internet Terminology
- Data Delivery
- Writing a Simple Client
- Writing a Simple Server
- Writing an Iterative Server
- ftp
- The Common Gateway Interface
- HTML Forms
- The CGI Environment
- Administering the Server
- The HTTP Protocol
- Header Information
- The CGI Script
- Extracting Form Data
- The CGI Response
- CGI Output
- Database Access
- What Can Go Wrong?
- Images
- Extra Path Information
- Chapter 7: CGI.pm
- Using CGI.pm?
- Simple Form Elements
- Parameters
- HTML Tags
- Form Processing
- checkbox_group and radio_group
- Text Areas
- Popup Menus and Scrolling Lists
- Debugging
- Chapter 8: Accessing Real Databases in Perl
- Introduction
- Architecture
- Review of SQL
- Accessing Databases from Perl
- Executing a Query in Perl
- Accessing Database Metadata
- Interactive Requests
- Adding a Graphical Front-End
- Accessing a Real Database via a Web Form
- Chapter 9: XML Fundamentals
- Introduction
- What is a Markup Language?
- SGML vs. HTML
- Sample HTML Document
- XML
- Creating Semantic Tags
- XML Syntax
- Elements
- Attributes
- Comments
- Unicode and Character Sets
- Character References
- Entity References
- Character Data Sections (CDATA)
- Processing Instructions
- Parsing XML
- Chapter 10: Processing XML With Perl
- Creating an XML Document With Perl
- Creating an XML Document
- Using an XML Parser
- XML::Simple
- XML::Parser
- Appendix A: An HTML (P)review
- An HTML (P)review
- An HTML (P)review: Basics
- An HTML (P)review: Formatting Basics
- An HTML (P)review: Links
- An HTML (P)review: Forms
- Chapter 1: What You Should Already Know













