CGI, mod-Perl, and other standards. Sessions, cookies, content management, etc.
Duration: 2 days
£650.00 (VAT free from January 2019), •
Venue: Melksham, Wiltshire
COURSE START DATES
Usually scheduled to meet customer needs or run as a private course. Please email for details
This advanced course takes the Perl programmer through
to making full use of Perl on the Web.
The course starts with a short revision of Perl, allowing trainees
the opportunity to brush up on fundamental topics if they wish. Web and networking topics then follow.
Quite early in the
course, you'll be writing simple Web-based applications, allowing
your Web site visitors to look up data in text files, for example.
Other topics, such as more complex forms, state and cookies
will be studied so that you know how to write applications that
consist of a series of forms, and allow information to be saved
onto the server. Security aspects, such as ensuring that different
users' data don't get mixed up and password issues, etc., are also
We then cover the use of Perl to automate network tasks such as FTP and Telnet,
and we show you how you can write your own clients and servers.
The course includes many examples using resources that are available for free
on the CPAN or elsewhere, such as standard Perl modules and modPerl, SSI and
PerlScript within ASP.
This course covers version 5 of Perl (the current version), with footnotes
where appropriate to tell you about Perl 6. Our plans for
Perl 6 training
are described on a separate page.
Knowledge of the Perl programming language, as taught
on our Learning to program in Perl
courses. A knowledge of the fundamentals of
HTML is useful, but not mandatory.
Getting the most from your Well House Consultants course
When internet applications took off, Perl was
especially suitable as the language in which they should be written.
It interfaces well to web applications and servers, has a quick
development cycle, and it's open source so that are no complex
licensing issues. Many web applications are written in Perl to
thid day, although languages such as PHP (which was designed
specifically for the web use) and Ruby are strong and often used
A quick review of the fundamentals
|Perl Review (module P251) For experienced Perl programmers starting on an advanced course.
Basic program structure.
Blocks, conditionals and loops.
Lists and hashes.
Input and output.
|A Quick Look Ahead (module P770) Other facilities in Perl - further modules, objects, tieing.
Databases, Relational Databases, XML, XSLT and Data Munging.
Writing distributable modules.
Perl/Tk, embedding Perl in your application and your application in Perl.
Uses of Perl on a network - Web-page interaction, clients and servers.
Uses of Perl for portable system administration tasks.
Using Perl to glue other applications together (including databases).
|Perl on the Network (module P252) How Perl can be used on a network.
Programming for networks.
Server embedded applications.
Client side applications.
Data Munging for the Web.
|Anatomy of Networking (module P401) Routing, IP addresses and TCP.
Clients and servers.
DNS Name resolutions.
|Commercial and Legal Aspects (module A213) Why discuss this on a technical course?
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Marketing and visibility.
Using Perl for server side programming
|HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, frames, forms, applets, images, etc.
Which HTML standard?
|HTML for Web Application Authors (module Q625) Frames and Images.
Applets and other Objects.
|The Common Gateway Interface (module P403) The mechanism of the Web.
The need for server-side programming.
Web server structure.
Your first CGI program.
Checking with your ISP or webmaster.
Encoding the returned page.
|Extending Flexibility Using CGI (module P404) Returning a location.
Writing a document to the server.
Forms with multiple fields.
Get v post.
The CGI program environment.
Other types of form element.
|More CGI Programs and Facilities (module P406) Sending email from a CGI program.
Recognising the browser.
Uploading and downloading files.
Multipart documents; server push and client pull.
Server Side Includes.
|State and Cookies (module P407) The need for non-transient data.
Central database example.
|Standard Web Modules (module P408) CGI.pm.
LWP - User Agent.
Legal and security issues with cookies and other people's content.
|Using CGI.pm (module P412) Introduction.
What does CGI.pm provide?
Object and procedural interfaces.
HTML element support.
Reading from a form.
State and cookies via CGI.pm.
Shopping cart example.
Handling multiple select fields.
File uploads via CGI.pm.
Further uses of header.
Introduction to the LWP module.
|Good CGI scripting. (module P774) Planning your application.
State diagrams and the six step process.
Read form, read session, finish, start, save session, send response.
Sticky fields and sanitising user inputs.
Templating, Web helpers.
Cleaning up old carts.
Putting it all together in the 4 layer model.
Should you use sessions or hidden fields?
Sample Quiz question system using these techniques.
The wider user of Perl on your network
|Writing Your Own Simple Client and Server (module P402) Checking protocols using telnet.
RFC868 - time protocol.
Low-level client network access.
Using the socket module.
Using name services.
Running network commands directly.
Writing a time server.
Byte order and end-of-line considerations.
Finger client example.
|FTP and Telnet Modules (module P616) Net::FTP, First example: Creating object; login; navigation; put and get.
Net::FTP, modes, enquiries, automated search example, other facilities.
Net::Telnet, connecting and logging in. Running remote commands. Logging out.
Using Net::Telnet to access other net protocols (http example)
|Robots, Crawlers and Spiders (module P608) Retrieving pages automatically.
Checking and analysing a site.
Providing a Web frontend for these facilities.
Retrieving a site for later viewing.
Acceptable and unacceptable behaviour of automated clients.
|Searching (module P409) The science of searching.
Local search using ISINDEX.
Other ways of searching a small local area.
How do you decide what's a match?
How do you rank the matches?
Searching a larger site - building an index.
Wider searches - commercial products.
Finding sites and information by crawling.
Leaving enquiries running.
|Automated Email Answering (module P410) Cron, at and batch.
Can I find the user's name?
Mailing modules from the CPAN.
Using SMTP directly - RFC 821 and 822.
Reading email via POP3.
Automatic processing of emails.
An email responder.
Using autosend / autoreceive to pass firewalls.
|Alternatives to CGI (module P623) Hello mod_perl world.
Apache Module Structure.
Maintaining state and authentication with mod_perl.
Customisation and the use of other request phases.
Overview of alternatives to CGI and mod_perl.
Active Server Pages (ASP).
Server Side Includes (SSI).
Servelets and JSPs.
Directly written servers.
|Using Perl for Web Site Management (module P604) Regular expressions - some tips for handling HTML.
Using a template page to create a Web site.
Checking for broken links.
Extracting descriptions and keywords.
Automated index pages.
Analysing the server log files.
TUTOR and COURSE AUTHOR
Graham Ellis - firstname.lastname@example.org
] [about Graham
Public courses run at
Well House Manor
- our own
purpose fitted training centre and business hotel / conference centre in
• Download Melksham Map - [pdf file (750k)
] • Google Map - [Link
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
£790.00 (No VAT from 1.2019)
£650.00 (No VAT from 1.2019)
| With hotel rooms
£1530.00 (No VAT from 1.2019)
£1250.00 (No VAT from 1.2019)
| With hotel rooms
£2270.00 (No VAT from 1.2019)
£1850.00 (No VAT from 1.2019)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
If you're working with a larger application, you
might wish to attend our other advanced Perl course - Perl for Larger Projects
Other advanced material, not covered on regular public courses,
is available through a Perl Extra
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
Certification? - [Link
FOR FURTHER INFORMATION
Public (scheduled) courses
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions
Covering topics such as delegate substitution, payment, cancellation policy and other matters.