CGI, mod-Perl, and other standards. Sessions, cookies, content management, etc.
Duration: 2 days
• Price: $1220.00 or £740.00 +VAT
(with hotel room), or
$1000.00 or £600.00 +VAT
(without room), •
Venue: Melksham, England
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) The logistics.
Basic program structure.
Blocks, conditionals and loops.
Lists and Hashes.
Input and Output.
|A Quick Look Ahead (module P770) Fundamental and advanced topics.
How do these further facilities talk to Perl?.
Other facilities in the Perl language.
File handling and system administration functions.
Writing distributable modules.
More complex data structures.
Writing network clients and servers.
Binary Termio, and low-level file controls.
Other facilities in Perl - further modules.
Interfacing to databases.
XML and XSLT.
Graphics and Perl.
Writing Web clients.
Talking to Microsoft applications.
Perl in other guises.
Interfacing to the Web via cgi.
Interfacing to the Web via mod-perl.
Other Web interfaces.
Perl embedded within third-party applications.
|Perl on the Network (module P252) Network structure.
Programming for networks.
Providing your own client.
Providing your own server.
Providing your own service.
Building in to an existing service - email.
Building in to an existing service - the web.
|Anatomy of Networking (module P401) Routing.
Clients and Servers.
|Commercial and Legal Aspects (module A213) Why discuss this on a technical course?.
Data Protection Act, 1998.
Freedom of Information Act, 2000.
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Other content issues.
Who is the publisher?.
Registration agencies - the shady dealers.
Backups and security.
Ease of use.
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, etc..
Which HTML standard?.
Validating your page.
|HTML for Web Application Authors (module Q625) Tables.
Element types within a form.
The script used.
Objects and images within a web page.
|The Common Gateway Interface (module P403) The mechanism of the web.
The need for Server Side Programming.
The structure of the server.
Your first CGI program.
Use perl -c.
Check with your ISP.
|Extending Flexibility Using CGI (module P404) Returning a location and writing a document.
Returning a location.
Writing a document.
Forms with multiple fields.
Get v Post.
The Environment of a CGI program.
All the element types within a form.
|More CGI Programs and Facilities (module P406) Automatic emailing; recognising the browser.
Uploading and downloading files.
Multi part documents.
Server Side Includes.
Server Side Include Syntax.
Executable content in CGI.
|State and Cookies (module P407) The need for non-transient data.
Schemes for maintaining state.
Which scheme should I use?.
Central database example.
Our database server.
Planning our application.
How it fits together - entry to the site.
The next page.
Shopping cart using hidden fields - example.
Shopping cart using cookie - example.
Security considerations for server side applications.
2. Regular expressions from user.
3. validate via email.
4. Data in hidden directories.
5. Credit card info in cookies.
7. Avoid \ etc..
8. Temp file names.
9. Save before send.
|Standard Web Modules (module P408) CGI Modules.
Using CGI for cookies.
Legal and security issues with cookies.
Using LWP to write your own clients.
A note of caution.
|Using CGI.pm (module P412) Introduction.
What does CGI.pm provide?.
Using CGI.pm to produce your HTML.
Using the Object Oriented interface of CGI.pm.
Methods to produce HTML.
Anchors and Images.
Other HTML element support.
Producing a form.
Reading back form data.
State and cookies.
What is state?.
Maintaining state using CGI.pm and hidden fields.
Issues with maintaining state.
Using cookies to maintain state.
Using CGI for cookies.
A scheme for applications that maintain state.
A shopping cart example.
Handling fields in multiple.
Handling special characters in output text.
Further uses of header.
Writing your own client (LWP).
|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) A further use of telnet.
Using RFC868 time protocol.
Using the Socket module.
Running network commands directly.
Writing your own simple server.
Example - finger client.
|FTP and Telnet Modules (module P616) Simple example.
More flexible transfers.
Running a remote shell and commands.
Using Net::Telnet to hold a remote conversation.
|Robots, Crawlers and Spiders (module P608) Definitions.
Checking a page, links and sites.
Checking a single page.
Checking links and included files.
Checking a site.
Things to do with a pet spider.
The robots exclusion standard.
|Searching (module P409) The science of searching.
Local searches using .
Searching a small local area without .
Searching a larger site.
Still wider searches.
Need for more efficient search!.
Need to find out sites to visit by crawling.
Need to be able to leave an enquiry running.
A robotic search program.
|Automated Email Answering (module P410) Automatically sending emails.
Unix and Linux: cron, at and batch.
The user name.
Using port 25.
Reading email via POP3 or other protocols.
Automatically processing received emails.
An email responder.
Automatic at both ends!.
Processing an email file.
|Alternatives to CGI (module P623) CGI (the Common Gateway Interface).
How it works.
ASP (Active Server Pages).
How it works.
SSI (Server Side Includes).
How it works.
How it works.
How it works.
|Using Perl for Web Site Management (module P604) Analysing pages.
Links from a page.
TUTOR and COURSE AUTHOR
Graham Ellis - firstname.lastname@example.org
] [about Graham
, England. A taxi transfer can be arranged if you'll be arriving by air
from United States.
can be arranged on site in your country.
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
($1464.00 inc VAT) or
(£888.00 inc VAT)
($1200.00 inc VAT) or
(£720.00 inc VAT)
| With hotel rooms
($2808.00 inc VAT) or
(£1656.00 inc VAT)
($2280.00 inc VAT) or
(£1320.00 inc VAT)
| With hotel rooms
($4152.00 inc VAT) or
(£2424.00 inc VAT)
($3360.00 inc VAT) or
(£1920.00 inc VAT)
• 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.