|
About the course
Perl is a general purpose programming language,
optimised for scanning text files, extracting information from
files and generating reports based on the obtained information.
It is capable of scanning large amounts of data in a very quick
manner. It is also capable of dealing with binary data. Perl is
used by system administrators as a powerful scripting language,
programmers and network designers for data manipulation, WWW programming
for parsing and generating HTML, controlling mail, CGI programming,
and many other uses.
Perl source code is implemented on most operating systems (including
all versions of Microsoft Windows and .Net, Mac, VMS as well as
mainframe MVS and OS/400). The course is run on a Windows platform
(with Solaris on the network), but is applicable to other operating
systems.
Prerequisites
Basic programming experience such
as fortran, c, basic or other suitable discipline. No Perl, awk,
sed, sh, csh, or grep is necessary, although it's useful. Apart
from this suggestions, Perl is a suitable first language for those
who have an aptitude for computer programming.
Duration
3 days |
| 1. Preparing to Learn
Perl |
• Things you need to
know and do in order to run Perl programs and learn Perl programming
• The perl compiler/interpreter • Perl under
Unix/Linux • ActiveState Perl • Making programs
executable (chmod +x) • Perl from the command line (perl
command) • Specify the perl compiler/interpreter (#!)
• Command line flags • Using plain text for programs
• Writing a very simple program • Running a
very simple program • Basic syntax • Exception-handling:
trapping run-time errors • Logging techniques •
The PERL debugger • Perl for Microsoft Windows – Win32::
package • Finding out more for yoursel |
| 2. Using PERL variables |
• Variables •
local variables (my) • Scalars — numbers and strings
• Assignment • Arrays — for storing lists
• Hashes • Filtering lists with map •
Sorting lists • Scoping rules • Special variables
• Complex data structures & references |
| 3. Flow control |
• Simple conditional
tests — if • Foreach, loops • Other loops:
while, for, do, until • Simple input, e.g., while(<>) |
| 4. File handling |
• Types of open
• Filehandles • Reading line by line •
Reading paragraph by paragraph • Reading entire files
• Special variables • Pipes |
| 5. Sub routines |
• Functions overview
— recognising, writing, using • Simple file handling
— open, print • Subroutines — parameters in
and out |
| 6. Regular expressions |
Text manipulation with regular
expressions • Matching strings • Matching the
default variable • Case-sensitivity and matching •
Special characters • Built-in character class examples
• Capturing • Regular expression examples
• Substitution • File test functions |
| 7. Must-have built-in
PERL functions |
• Uppercase/lowercase
conversion • Splitting strings |
| 8. Using Perl Modules
from CPAN |
• CPAN's philosophy
• Finding modules • Installing Modules
• Using modules • Some particularly useful modules
|
| 9. Handling Databases
with Perl |
• Interacting with
SQL databases from Perl • Using DBI |
| 10. Introduction to
CGI Programming With Perl |
• Printing a CGI header
for a simple command-line program • Form handling —
CGI::Lite fo parameter parsing • GET, POST •
Running CGI programs at the command line • Creating Web
Pages with HTML::Template |
| 11. Modules and Packages |
• Modules •
Packages & files • Creating a module • Defining
functions in modules • Exporting functions from modules
• Variables in modules |
| 12. Creating Classes
and Objects in Perl |
• Using object-orientation:
classes and objects • Constructors • Object
methods • Inheritance |
| 13. Managing Networks
with Perl |
• Host Files •
DNS • NIS lookups • WHOIS • LDAP
• ADSI • Sending and receiving email •
Related modules |
| 14. Perl Security Issues |
• Potential security
pitfalls • Coding for security • Taint checking
• Dangerous environment variables • File input
• Set-user-id Perl programs • Permissions and
users |
| 15. mod_perl |
• What is mod_perl?
• Apache::PerlRun • Apache::Registry •
Configuring Apache and mod_perl |
| 16. Managing Dates and
Times in Perl |
• Time-keeping concepts
• Built-in time functions • The DateTime modules
• Time::Local • Date::Calc |