{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman{\*\falt Thorndale};}{\f1\froman\fprq2\fcharset0 Times New Roman{\*\falt Thorndale};}{\f2\froman\fprq2\fcharset0 Times New Roman;}{\f3\fmodern\fprq1\fcharset0 Courier New{\*\falt Cumberland};}{\f4\fnil\fprq2\fcharset0 HG Mincho Light J;}{\f5\fnil\fprq2\fcharset0 Arial Unicode MS;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green128\blue128;}
{\stylesheet{\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\snext1 Default;}
{\s2\sa283\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext2 Text body;}
{\s3\cf1{\*\tlswg8236}\tqc\tx4320{\*\tlswg8236}\tqr\tx8640{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext3 Header;}
{\s4\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af3\afs20\lang255\ltrch\dbch\af3\afs20\langfe255\loch\f3\fs20\lang1033\sbasedon1\snext4 Preformatted Text;}
{\s5\sa283\brdrb\brdrdb\brdrw15\brdrcf3\brsp0{\*\brdrb\brdlncol3\brdlnin1\brdlnout1\brdlndist20}\brsp0\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs12\lang1033\sbasedon1\snext2 Horizontal Line;}
{\s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\sbasedon1\snext6 Normal;}
{\*\cs8\cf2\ul\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033 Internet Link;}
}
{\info{\author Sharon Tuttle}{\creatim\yr2004\mo1\dy15\hr19\min47}{\operator Sharon Tuttle}{\revtim\yr2004\mo12\dy9\hr10\min43}{\printim\yr2004\mo9\dy16\hr11\min22}{\comment StarWriter}{\vern6410}}\deftab1250
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\headery0{\*\headeryb283\headerxl0\headerxr0\headeryh0}{\header \pard\plain \s3\cf1{\*\tlswg8236}\tqc\tx4320{\*\tlswg8236}\tqr\tx8640{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\ltrch\loch\f2\fs18 {\ltrch\loch\f2 CIS 480 - Final Exam Review Suggestions\tab \tab p. {\field{\*\fldinst \\page}{\fldrslt 5}}}
\par }
\pgdscnxt0 Default;}}
\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1948\margbsxn1440\headery1440{\header \pard\plain \s3\cf1{\*\tlswg8236}\tqc\tx4320{\*\tlswg8236}\tqr\tx8640{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\ltrch\loch\f2\fs18 {\ltrch\loch\f2 CIS 480 - Final Exam Review Suggestions\tab \tab p. {\field{\*\fldinst \\page}{\fldrslt 5}}}
\par }
\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f0\fs24\lang1033\li420\ri0\fi-420\qc\ltrch\loch\f2\b {\ltrch\loch\f2 CIS 480 Final Exam Review Suggestions}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab last modified: 12-09-04 }
\par 
\par {\ltrch\loch\f2{\b0 *\tab SOMETHING NEW: for the final, you may bring {\b a single 8.5" by 11" sheet} {\b with your name prominently on it }on which you have {\b handwritten} the course material of your choice, along with your name --- this sheet {\b must be turned in with your final exam}, and will
 not be returned. (You may write on both the front and the back, if you wish; and you must personally create/hand-write the sheet.)}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24
\par {\ltrch\loch\f2{\b0 *\tab remember: YOU ARE RESPONSIBLE for course reading, lectures/labs, and }especially anything that's been on a homework or lab exercise; BUT, here's a quick {\b0 overview of especially important material.}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\fs24 {\ltrch\loch\f0 *\tab general style of the final exam will be similar to the two previous exams, {\b except} that the final exam will be {\b comprehensive}, and encompass the entire semester;}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\fs24 {\ltrch\loch\f0 *\tab (thus, it would be very wise to understand anything that you missed on Exams #1, #2; you've got those tests to study from, and you have the review suggestion sheets for Exam #1 and Exam #2, still available from the course web page under "Homeworks and Ha
ndouts".)}
\par 
\par {\ltrch\loch\f0 *\tab final exam will, as usual, include a separate \ldblquote packet\rdblquote  of example code, some to be directly used in questions, some to be used as reference if you know how to read Perl code as you should at this point;}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab final exam will include a combination of short answer, code-fragment reading and writing, and whole-script reading and (possibly) writing.}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab and, of course,  I could ask you questions *about* Perl, or about various aspects of Perl;}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b Intro to }{\b CGI and Perl}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what does {\b CGI }{\b0 stand for? What dos the module }{\b CGI.pm}{\b0  provide?}}
\par 
\par {\ltrch\loch\f2 *\tab {\b on} {\b sorrel}, in what directory does one place one's Perl CGI scripts? What is the parent directory of this directory? Given the name of a Perl CGI script within this directory (on your sorrel account), what would be the URL to run this script?}
\par 
\par {\ltrch\loch\f2 *\tab what does the built-in hash {\b ENV} contain?}
\par 
\par {\ltrch\loch\f2 *\tab in a Perl CGI script, what is the *first* line that should be printed? (Since it is easier: how can you conveniently obtain a correct version of this line using something from the {\b CGI} module?)}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what CGI module function will create the opening portion of an HTML document? which will return the closing tags for an HTML document?}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1260\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what CGI module functions let you conveniently begin and end a form?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab we've used various HTML form inputs at this point. How can you set up textfields, password fields, submit buttons, reset buttons, radio buttons, and checkboxes using CGI module functions?}
\par 
\par {\ltrch\loch\f2 *\tab what CGI module function can one use to see what parameters are being returned in a submitted HTML form?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1695\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab how can this be used to see if the form has been submitted yet?}
\par 
\par {\ltrch\loch\f2 *\tab how can this be used to obtain the value for a particular parameter? to obtain the names of all the parameters from the form?}
\par 
\par {\ltrch\loch\f2 *\tab (and, how can this be used to display some things initially, and different things once the submit button is pushed?)}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1290\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab be comfortable with the CGI module functions for ther basic HTML tags, also (such as hr, br, h1, etc.)}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab be comfortable with the basic use of the CGI.pm module, as has been shown in class examples, lab exercises, and homework assignments.}
\par 
\par {\ltrch\loch\f2 *\tab {\b CGI::Carp}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab be comfortable with basic use of this module, as has been shown in class examples, lab exercises, and homework assignments.}
\par 
\par {\ltrch\loch\f2 *\tab which two functions from this module are particularly useful to import? which third function is also useful to import, useful for logging all error messages in a separate file?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab {\b HTML::Template}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li870\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab be comfortable with basic use of this module, as has been shown in class examples, lab exercises, and homework assignments.}
\par 
\par {\ltrch\loch\f2 *\tab what does this module provide? Why is this a good idea?}
\par 
\par {\ltrch\loch\f2 *\tab note that, here, you see a "typical" Perl object-oriented constructor; how do you use this to obtain a new template object?}
\par 
\par {\ltrch\loch\f2 *\tab what is the recommended suffix for template file names?}
\par 
\par {\ltrch\loch\f2 *\tab be comfortable with at least the tmpl_var, tmpl_if tags.}
\par 
\par {\ltrch\loch\f2 *\tab how do you fill in a particular template? how do you obtain the filled-in result?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24\b 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b DBI}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li870\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab be comfortable with basic use of this module, as has been shown in class examples, lab exercises, and homework assignments.}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24\b 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab we used this module in a more object-oriented way, remember;}
\par 
\par {\ltrch\loch\f2 *\tab connecting to Oracle}
\par {\ltrch\loch\f2 *\tab connecting to MySQL}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab in general, how do you connect to a database using {\b DBI}? How do connecting to Oracle and connecting to MySQL differ?}
\par 
\par {\ltrch\loch\f2{\b0 *\tab no matter WHAT you are connecting to --- what should you be sure to do when you are done? How do you do this using DBI?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab what is a database handle? how do you get one?}
\par 
\par {\ltrch\loch\f2 *\tab what is a statement handle? how do you get one? what should you do with a statement handle before disconnecting the database handle (ESPECIALLY if you may not have read all of the rows of the executed statement)?}
\par 
\par {\ltrch\loch\f2 *\tab how do you set up and execute a SQL query? how do you set up and execute a SQL command that is not a query?}
\par 
\par {\ltrch\loch\f2 *\tab how can you quote a string (especially a literal string) in a way suitable for use in a SQL statement?}
\par 
\par {\ltrch\loch\f2 *\tab how can you obtain the results from a SQL query? how can you see how many columns are in the result? how can you obtain the names of the columns in the result?}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b Modules}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is CPAN?}
\par 
\par {\ltrch\loch\f2 *\tab what is {\b perldoc}{\b0 ? How can it be used to find information about a particular module?}}
\par 
\par {\ltrch\loch\f2 *\tab using modules}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is a {\b use directive/declaration}? what is an {\b import list} within a use directive/use declaration? when is it useful?}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1695\ri0\fi-420\ltrch\loch\f2\fs24{\ltrch\loch\f2{\b0 *\tab how do you use a function from a module that was in an import list? can you use a function from a module if it was not in an import list? if so, how?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab what is a {\b lib pragma}? What does it do? What does it modify?}
\par 
\par {\ltrch\loch\f2 *\tab what is {\b @INC}? What does it contain? How are its contents used?}
\par 
\par {\ltrch\loch\f2{\b0 *\tab how can you call a function within a module if it has not been imported?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab writing modules}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1260\ri0\fi-420{\ltrch\loch\f2{\b0\fs24\f2 *\tab from {\ul Practical Perl with CGI Applications}{\ulnone , Chang, p. 153:}}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1260\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 \tab "In essence, a {\b module} is a library of functions in a Perl {\b package} with the {\b same} {\b name} as the {\b file}; the file has the extension {\b .pm}."}
\par 
\par {\ltrch\loch\f2 *\tab so --- what statement must a Perl {\b package} begin with?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1695\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab (and, note the above --- for a Perl module, what must be true of this package name?)}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab for good style --- what kind of variables should be used within a module?}
\par 
\par {\ltrch\loch\f2 *\tab for good style, note, too, that you are expected to end a module with the line {\b return 1;}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24\b 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab be able to use the {\b Exporter} module to export desired names appropriately.}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1695\ri0\fi-420\ltrch\loch\f2\fs24{\ltrch\loch\f2{\b0 *\tab what is the difference between }{\b @EXPORT_OK}{\b0  and }{\b @EXPORT}{\b0 ?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li1260\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab once you have written a module, how do you typically/usually include it in another program?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b eval blocks}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is an {\b eval} block? How is it written (what is its syntax)? What happens if a fatal error occurs while running a statement within this block?}
\par 
\par {\ltrch\loch\f2 *\tab what is {\b $@   }? What does it contain when it follows an eval block?}
\par 
\par {\ltrch\loch\f2 *\tab how can an eval block and $@ be used to implement something rather like exception handling?}
\par 
\par {\ltrch\loch\f2{\b0 *\tab how does an eval string differ from an eval block? Which is the one you "should" be using?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab {\b Perl 6}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is Perl 6? what is Parrot? is Perl 6 finished yet?}
\par 
\par {\ltrch\loch\f2 *\tab where is the most "official" place to find information about Perl 6?}
\par 
\par {\ltrch\loch\f2 *\tab according to the Larry Wall quote discussed, what was Perl 5, and what does he want Perl 6 to be?}
\par 
\par {\ltrch\loch\f2 *\tab what is an RFC? who could submit them?}
\par 
\par {\ltrch\loch\f2 *\tab what are the Perl 6 Apocalypses? In what sense is the word "apocalypse" intended here? How are these apocalypses organized?}
\par 
\par {\ltrch\loch\f2 *\tab What are the Perl 6 Exegeses? In what sense is the word "exegesis" intended here? How are these exegeses organized?}
\par 
\par {\ltrch\loch\f2 *\tab how did Parrot get its name?}
\par 
\par {\ltrch\loch\f2 *\tab Parrot is the target for Perl 6, so, of course, it will run Perl 6. What else is it also intended/hoped to run?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24\b 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs20\lang255\ltrch\dbch\af4\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24\b 
\par }