Perl Programming — a 4-day course
Synopsis
This course covers general Perl programming together with system and database interaction. This basic four-day course provides a
grounding in using the Perl programming language as a successful Perl
programmer and/or system administrator.
An expanded 5-day version of this course, Perl Programming with Web Development, is scheduled for public presentaion in London and Bradford. The Perl Programming with Web Development course covers everything in this 4-day course, but additionally covers CGI and Perl for web development.
Suitable for
Delegates have usually encountered some Perl before, but may not always have
found it easy to learn or use. The course is for developers who want to learn
the Perl way of doing things. It emphasizes taking advantage of Perl's
native productivity tools and techniques, rather than trying to ‘make
do’ with other language's idioms.
The course covers the fundamentals of Perl from the beginning, as we have
found that a good understanding of how and why Perl does things in particular
ways helps everyone to learn more effectively; even those who have been
programming in Perl for a couple of years.
If you are new to programming or web development and are contemplating the use of Perl we suggest that you read our
notes on introductory courses first.
Prerequisites
- This Perl course assumes that delegates can already program in at least one
programming language or scripting language, e.g., C, C++, Java, PHP,
Visual Basic, Pascal, or COBOL.
Delivery
This is a hands-on practical workshop based around the coding of real-world
solutions to real-world problems.
This Perl training course is available as an in-house Perl course for company groups. For in-house
programmers the course can be extended with our
full range of Perl modules, or the basic
content can be taught over five days to enable more practical exercises and
mentoring.
An expanded version of this course, Perl Programming with Web Development, is scheduled for public presentaion in London and Bradford.
Please contact us at
training@gbdirect.co.uk to arrange
delivery of any of our Perl courses for your company.
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.
Contents
Preparing to learn Perl
- Things you need to know and do in order to run Perl programs and learn Perl
programming
- A module designed for complete beginners
- The
perl compiler/interpreter
- Perl under Unix/Linux
- Perl under MS Windows 2000/NT/95/98/ME (
perl.exe)
- ActiveState Perl
- Making programs executable (
chmod +x)
- Perl from the command line (
perl command)
- Specify the perl compiler/interpreter (
#!)
- Using plain text for programs
- Writing a very simple program
- Running a very simple program
- Basic syntax
Perl: the absolute minimum
- Enough of the language to get started
- The
print function
- Variables
- Scalars — numbers and strings
- Assignment
- Simple conditional tests —
if
- Lists
- Arrays — for storing lists
foreach loops
- Hashes
- Other loops:
while, for, do,
until
- Arrays — the rest
- Simple input, e.g.,
while(<>)
- Functions overview — recognising, writing, using
- Simple file handling —
open, print
- Subroutines — parameters in and out, listification, local
variables (
my)
- Help —
perldoc, books, web
Regular expressions
- Text manipulation with regular expressions
- Matching strings
- Matching the default variable
- Case-sensitivity and matching
- Special characters
- Special characters: where
- Special characters: what
- Special characters: how many
- Built-in character classes
- Built-in character class examples
- Capturing
- Regular expression examples
- Substitution
- Global substitutions
Perl: beyond the basics
- More flow control
- Statement modifiers
- Quoting mechanisms —
qq(), etc.
- Here documents
- Uppercase/lowercase conversion
- Splitting strings into lists
- Joining lists into strings
- Filtering lists with
map
- Sorting lists
- The importance of context
- Assignment shortcuts
- Scoping rules
- Special variables
Complex data structures & references
- Limits of flat lists
- Nesting arrays
- Array references
- Anonymous arrays
- Named array references
- Passing multiple arrays to/from functions
- Hashes of arrays
- Hash references
- Arrays of hashes
- Hashes of hashes
- Complex nested data structures
- Code references
- Dispatch tables
Finding Out More For Yourself
- How to read Perl's documentation
- Where to find more information
- Knowing what's out there to look for
- FAQs
|
Using Perl Modules from CPAN
- The Comprehensive Perl Archive Network (CPAN)
- Why effective Perl programmers are efficient CPAN users
- CPAN's philosophy
- Finding modules
- Installing Modules
- Using modules
- Some particularly useful modules
The Perl debugger & debugging Perl
- Avoiding bugs
- Perl's built-in debugger
- Invoking the debugger
- What you can do with the debugger
- Understanding the debugger's command line interface
- Knowing the debugger's basic command set
- Exploring some extended functions
- Graphical debuggers
- Alternative debugging techniques
Command-Line Perl
- General principles
- Using Perl as a filter
- Editing files in-place
- Many real world examples
- Command line flags
- Many examples using regular expressions
A Whistle-Stop Tour of the World of Perl
- Wheels you don't need to re-invent
- Common recipes
- Common pitfalls
Perl Style
- The Philosophy of Perl
- Why good style is important
- Good style
- Bad style
Handling Databases with Perl
- Interacting with SQL databases from Perl
- Using DBI
- Connection/disconnection, log in/log out
- Retrieving a single record
- Retrieving multiple records
- Update/insert queries
- Place-holders and bind values
- Connecting through ODBC
Advanced File Processing with Perl
- Types of
open
- Filehandles
- Reading line by line
- Reading paragraph by paragraph
- Reading entire files
- Special variables
- The flip-flop operator (
..)
- File test functions
- Pipes
System interaction
- Connecting to other programs
- Unsafe pipes
- Using
IO::Pipe
- Grabbing a program's output
- Other ways to run programs
Perl Security Issues
- Potential security pitfalls
- Coding for security
- Taint checking
- Dangerous environment variables
- File input
- Set-user-id Perl programs
- Permissions and users
|