Material for the second exam will overlap considerably the first
exam, most notably in patterns. Here's a list of things
which would be good to know:
- Be able to understand and create patterns. Here are some
particular things to concentrate on.
- Know what the
=~
and !~
operators do.
- Know how to create and use pattern matches and pattern replacements.
- Know how to use at least the following pattern operators:
*
, +
, ^
, $
, {}
, []
, .
, ?
,
\s
and \S
.
- Know how to
^
behaves in and out of []
.
- Know how to use parentheses to capture a portion of a match
into
$
n variables.
- Know that patterns interpolate variables.
- References, packages, and modules.
- Know how to create a reference to an existing variable,
and how to use a reference.
- Know how to pass references as parameters, and how to use them.
- Know how to create a package, and how to create a module.
- Know what a blessed reference is, and how to create one.
- Know how a method call of the form
$r->f(x)
, for
a blessed reference $r
, is translated.
- Know how to create objects in perl.
- CGI
- Know how a CGI program differs from a static web page.
- Know how the user can get data to a CGI script.
- Through the URL as a query.
- Through the URL as path info.
- Through a form.
- Know how form data is sent to a CGI script.
- Know the difference between the POST and GET methods for
processing forms.
- Know what the CGI script must generate.
- Don't forget the content type line.
- Know why a CGI script cannot just die.
- Know about the CGI module.
- Know what sort of decoding it must provide for incoming data.
- Know how to create a query object.
- Know how to extract form data from the query object.
- Know how to use the query object to generate HTML.