{\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\fmodern\fprq1\fcharset0 Courier New;}{\f5\fnil\fprq2\fcharset0 HG Mincho Light J;}{\f6\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\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033\snext1 Default;}
{\s2\sa283\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext2 Text body;}
{\s3\cf1{\*\tlswg8236}\tqc\tx4320{\*\tlswg8236}\tqr\tx8640{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af5\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\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs12\lang1033\sbasedon1\snext2 Horizontal Line;}
{\s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\sbasedon1\snext6 Normal;}
{\*\cs8\cf2\ul\rtlch\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033 Internet Link;}
}
{\info{\author Sharon Tuttle}{\creatim\yr2004\mo1\dy15\hr19\min47}{\operator Sharon Tuttle}{\revtim\yr2004\mo9\dy16\hr11\min18}{\printim\yr2004\mo9\dy16\hr9\min37}{\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\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033\ltrch\loch\f2\fs18 {\ltrch\loch\f2 CIS 480 - Exam #1 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\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033\ltrch\loch\f2\fs18 {\ltrch\loch\f2 CIS 480 - Exam #1 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\af6\afs24\lang255\ltrch\dbch\af5\afs24\langfe255\loch\f0\fs24\lang1033\li420\ri0\fi-420\qc\ltrch\loch\f2\b {\ltrch\loch\f2 CIS 480 Exam #1 Review Suggestions}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab last modified: 9-16-04 }
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24{\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab this will be a pencil-and-paper exam, but you will be reading and writing Perl code and fragments in this format. Note that a packet of Perl code will be included along with the exam, both for reference and for use directly in some exam questions --- the
 ability to make use of existing code as a reference is a vital skill in Perl (as in most programming languages).}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab note that you could be asked to write Perl expressions, statements, fragments, or up to and including entire Perl scripts;}
\par 
\par {\ltrch\loch\f2 *\tab note that I could ask you questions *about* Perl, or about various aspects of Perl;}
\par 
\par {\ltrch\loch\f2 *\tab note that I could ask you what a Perl fragment does or means; I could give you a fragment or script, and ask you what it does or what it would output in a given situation.}
\par 
\par {\ltrch\loch\f2 *\tab you could be asked to modify a fragment or script, or correct a fragment or script, as well;}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 
\par {\ltrch\loch\f2 *\tab {\b Perl basics}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab how does one compile/execute a Perl script?}
\par 
\par {\ltrch\loch\f2 *\tab what is the first line that is traditionally preferred for a Perl script (under UNIX, with a "usual" Perl installation)?}
\par 
\par {\ltrch\loch\f2 *\tab what is the -w option for in this line?}
\par 
\par {\ltrch\loch\f2 *\tab how does one write a comment in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab how can one execute an operating system command from within Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what statement can one use to print something to standard output in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what statement(s) can one use to read something from standard input in Perl?}
\par {\ltrch\loch\f2 \tab ...from the contents of files given on the command line in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what is chomp? what does it do? why is it useful?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b scalar data and variables}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is scalar data? how does one write a scalar variable in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab just how strongly typed is Perl, anyway?}
\par 
\par {\ltrch\loch\f2 *\tab with what operators should one compare two numbers? with what operators should one compare two strings?}
\par 
\par {\ltrch\loch\f2 *\tab how can you concatenate two strings together?}
\par 
\par {\ltrch\loch\f2 *\tab what are some of the differences between a single-quoted string and a double-quoted string? what is variable interpolation? how can you get this when you want it? how can you avoid it when you don't?}
\par 
\par {\ltrch\loch\f2 *\tab how can you print out the value within a variable?}
\par 
\par {\ltrch\loch\f2 *\tab how do you write an if-statement in Perl? a while-statement?}
\par 
\par {\ltrch\loch\f2 *\tab what is considered to be within a scalar variable before you give it a value? what happens if you use a scalar variable before you give it a value? how can you see if a variable has been given a value?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b lists and arrays}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is a list? what is an array? what is the relationship between lists and arrays in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab how does one write an array variable in Perl? how does one write a list value in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab given a variable --- can you tell if it is a scalar or an array?}
\par 
\par {\ltrch\loch\f2 *\tab how do you refer to a single element within an array? how can you find out how many elements are in an array? how are elements indexed within a Perl array?}
\par 
\par {\ltrch\loch\f2 *\tab what are some of the ways of "filling" an array in Perl? what are some of the ways of writing a list in Perl? of specifying a list in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what is list assignment? what are some of the ways of accomplishing this in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what are pop, push, shift, and unshift? reverse and sort?}
\par 
\par {\ltrch\loch\f2 *\tab what are some of the preferred ways for iterating through a list or array in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab what are some of the ways of printing a list's or array's contents?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab you should be comfortable with Perl's {\b foreach} control structure.}
\par 
\par {\ltrch\loch\f2 *\tab what is "Perl's favorite default"? How can it be used in the area of lists/arrays?}
\par 
\par {\ltrch\loch\f2 *\tab be comfortable with what happens with lists/arrays used in different contexts;}
\par 
\par {\ltrch\loch\f2{\b0 *\tab what happens when <STDIN> is used in a list context?}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b hashes}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab what is a hash in Perl? why might one want to use a hash? how is a hash different from an array?}
\par 
\par {\ltrch\loch\f2 *\tab how does one write a hash variable in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab given a variable --- can you tell if it is a scalar or an array or a hash?}
\par 
\par {\ltrch\loch\f2 *\tab how do you set a value for a particular key within a hash? how do you access the corresponding value for a particular key within a hash?}
\par 
\par {\ltrch\loch\f2 *\tab what are some of the preferred ways for iterating through the key-value pairs within a hash in Perl? how can you, say, print a hash with one key-value pair per line?}
\par 
\par {\ltrch\loch\f2 *\tab what is the big arrow? when might it be used?}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420{\ltrch\loch\f2{\b0\fs24\f2 *\tab what do the functions keys, values, each, exists, and delete do?}}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b subroutines}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab how does one write a subroutine in Perl? how does one call a subroutine in Perl?}
\par 
\par {\ltrch\loch\f2 *\tab how can write a subroutine with parameters (that accepts arguments)? How does one call such a subroutine? What holds the arguments passed to a subroutine in a subroutine call?}
\par 
\par {\ltrch\loch\f2 *\tab how can you specify that a subroutine return a value? what is the preferred way (at least according to class style standards... 8-) ) to return a value from a subroutine?}
\par 
\par {\ltrch\loch\f2 *\tab where can one place such a subroutine within a Perl script?}
\par 
\par {\ltrch\loch\f2 *\tab what is a global variable in Perl? what is a lexical variable in Perl? Which is preferred within a subroutine? (Note that many believe this kind is what one should use in general in Perl scripts, to get scripts that can be pasted into other scripts with 
less likelihood of problems...)}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b basic input/output}}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24
\par {\ltrch\loch\f2 *\tab what is the diamond operator? What is it good for?}
\par 
\par {\ltrch\loch\f2 *\tab why should one be careful with foreach (<STDIN>)? Why is while (<STDIN>) generally preferred?}
\par 
\par {\ltrch\loch\f2 *\tab how can one write a script that either reads from the contents of file names given on the command line --- from invocation arguments --- or reads from standard input if no such invocation arguments are given?}
\par 
\par {\ltrch\loch\f2 *\tab how can one write a script that either reads from the contents of file names given on the command line --- from invocation arguments --- or asks the user for the name of a file whose contents should be read if no such invocation arguments are present? (A
nd how are we presently accomplishing this?)}
\par 
\par {\ltrch\loch\f2 *\tab should be comfortable with basic use of printf;}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\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\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li420\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab {\b regular expressions}}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li840\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab you are responsible for basic aspects of regular expressions; }
\par 
\par {\ltrch\loch\f2 *\tab I could give you a pattern, and ask if different strings match it, and/or ask you to describe what sorts of strings it matches; I could give you a description, and ask you to write a corresponding pattern; there are many possibilities.}
\par 
\par {\ltrch\loch\f2 *\tab how can you write a simple pattern in Perl? how can you compare all of the strings in files given as invocation arguments to a simple pattern? how can you take actions on those lines based on if they match that simple pattern?}
\par 
\par {\ltrch\loch\f2 *\tab how can you substitute for a pattern within a string?}
\par 
\par {\ltrch\loch\f2 *\tab what is the binding operator? how can it be used to see if a given variable matches a pattern? how can it be used to change the contents of that variable?}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab you should be comfortable with the following metacharacters/quantifiers:}
\par {\ltrch\loch\f2 \tab {\f4 .   \\   *   +   ?   ( )   | }}
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f4\fs24 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab you should be able to use a character class to specify possible characters that can match any single character within that class;}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li1275\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab how can you match, for example, a lowercase letter between g and p? a digit between 3 and 6?}
\par 
\par {\ltrch\loch\f2 *\tab at least be comfortable with the shortcuts \\d, \\w, \\s; and, if given a description of a shortcut, you should be able to then use it appropriately within a pattern.}
\par 
\par \pard\plain \s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af5\afs20\langfe255\loch\f0\fs20\lang1033\li855\ri0\fi-420\ltrch\loch\f2\fs24 {\ltrch\loch\f2 *\tab you should be able to use the anchors ^ and $, and the word-boundary anchor \\b}
\par 
\par {\ltrch\loch\f2 *\tab you should be able to use general quantifiers ( \{x, y\} )}
\par 
\par {\ltrch\loch\f2 *\tab you should be able to make basic use of memory parentheses; what does this mean? how can you use them in conjunction with backreferences? outside of the pattern, how can you access the contents of these regular expression memories?}
\par }