Commits

Shlomi Fish committed 01a6956

Remove trailing space.

Comments (0)

Files changed (152)

 * Create a macro for a link to a CPAN distribution
-(http://search.cpan.org/dist/MyDist-Here/), a self link (with MyDist-Here as 
+(http://search.cpan.org/dist/MyDist-Here/), a self link (with MyDist-Here as
 the contents), and a perldoc?MyModule::Here link.
 
 * Put the TODO and DONE on the web-site so people will be able to view
     - print {$fh} @args instead of "print $fh @args" which is too easy to miss.
     - STDIN instead of ARGV.
     - modifying an array/hash while iterating over it.
-    - comments and identifiers in a foreign language. 
+    - comments and identifiers in a foreign language.
     - avoid using perlform - use Perl6::Form instead (also see the text
     generation page).
     - C-style for loops.
     - http://www.stonehenge.com/merlyn/UnixReview/col52.html
         - $object->new() to create a new instance.
     - Law of Demeter
-    - EEK 
+    - EEK
         - pass items from one subroutine to another.
             - use objects.
             - assign them to slots.
 WML_FLAGS += -DLATEMP_THEME=better-scm -DLATEMP_SERVER=berlios
 
 LATEMP_WML_FLAGS = $(shell latemp-config --wml-flags)
-COMMON_PREPROC_FLAGS = -I $$HOME/conf/wml/Latemp/lib 
+COMMON_PREPROC_FLAGS = -I $$HOME/conf/wml/Latemp/lib
 
 WML_FLAGS += --passoption=2,-X3074 --passoption=3,-I../lib/ \
 	--passoption=3,-w $(LATEMP_WML_FLAGS) -I../ -DROOT~. \
 
 DEST_ARC_PAGE = $(TARGET)/source/index.html
 
-DOCS_COMMON_DEPS = template.wml 
+DOCS_COMMON_DEPS = template.wml
 
 all: run_compass latemp_targets perl_for_newbies_extra_data iperl_extra_data \
 	todo_done_data
 $(TODO_DONE): $(TARGET)/contribute/%.txt: %
 	cp -f $< $@
 
-# .PHONY: 
-# 
+# .PHONY:
+#
 # $(DEST_ARC_PAGE) :: $(TARGET)/% : src/%.wml $(LIBRARY_FILES) .PHONY
 # 	(cd src && wml $(WML_FLAGS) -DARCNAME=$(ARC_NAME) -DFILENAME=$(patsubst src/%.wml,%,$<) $(patsubst src/%,%,$<)) > $@
-# 
+#
 # arc: $(DEST_ARC_NAME) $(DEST_ARC_PAGE)
-# 
+#
 # $(DEST_ARC_NAME):
 # 	(cd temp && ./make-archive.sh)
 # 	mv temp/$(ARC_NAME) $@
-# 
+#
 # upload_arc: arc
 # 	$(RSYNC) $(ARC_NAME) shlomif@shell.berlios.de:
-# 
+#
 This script generates the list of directories and pages inside include.mak
 and rules.mak.
 
-This script also has to be invoked whenever new pages are added, or existing 
+This script also has to be invoked whenever new pages are added, or existing
 ones are removed or renamed.
 
 Enjoy!
     - Add the other frameworks:
         - <perlbot> rindolf: Don't parse IRC with regex! See
           POE::Component::IRC, Bot::BasicBot. Avoid Net::IRC. See also
-          http://poe.perl.org/ or Net::Async::IRC or AnyEvent::IRC .  
+          http://poe.perl.org/ or Net::Async::IRC or AnyEvent::IRC .
         - Not sure it's a good idea.
 
 * Maybe a page on «What's next "after" perl?».

docs/more-updates-2009-08-03.txt

-I thought the Perl Beginners' Site - http://perl-begin.org/ 
-was perfect after the last update, but boy I was wrong. A quick review and 
+I thought the Perl Beginners' Site - http://perl-begin.org/
+was perfect after the last update, but boy I was wrong. A quick review and
 critique of the site by a certain prominent Perl developer revealed many
-issues with it, and afterwards I had found stuff that I found lacking. So 
+issues with it, and afterwards I had found stuff that I found lacking. So
 here's what has changed.
 
 We're now mirroring the public domain "Perl for Newbies" tutorial on
 http://perl-begin.org/tutorials/perl-for-newbies/ as well as the GFDLed book
 "Impatient Perl" by Greg London ( http://www.greglondon.com/ ). Their
-presence on the site was done in order to preserve Perl-Begin's common look 
+presence on the site was done in order to preserve Perl-Begin's common look
 and feel, and to make sure people would be able to access them without
 having to go to a different site, which may be blocked by over-zealous
 web-filters. We hope to mirror other freely distributable material that
 may prove useful to beginners on Perl-Begin in the future.
 
-The "call-for-action" notice at the beginning was changed to 
+The "call-for-action" notice at the beginning was changed to
 "Learn Perl Now!" and now appears on all the pages.
 
-We also fixed several look and style glitches.   
+We also fixed several look and style glitches.
 
 There are also several corrections to the text and the hyperlinks.
 
 Stack Overflow was added to http://perl-begin.org/web-forums/ .
 
 There are now mentionings of two new topical books at
-http://perl-begin.org/books/topics/ - 
+http://perl-begin.org/books/topics/ -
 "Perl &amp; LWP" and "Programming the Perl DBI".
 
-Finally, the "About this site" page at http://perl-begin.org/about.html 
+Finally, the "About this site" page at http://perl-begin.org/about.html
 was updated and made more modern.
 
 We hope you enjoy the new site. If you like it, please recommend it to

docs/updates-to-perl-begin.txt

-After the last news item, a lot of work was invested on 
+After the last news item, a lot of work was invested on
 http://perl-begin.org/ , the Perl Beginners' Site. making
 it even better than it used to be. Here's a summary of the changes:
 </p>
 * There's a new IDEs and
 tools page:
 
-http://perl-begin.org/IDEs-and-tools/ , featuring some Integrated Development 
+http://perl-begin.org/IDEs-and-tools/ , featuring some Integrated Development
 Environments.
 
 * There's a new page sporting links to collections of blogs.
     system("compass", "compile");
 }
 
-my $generator = 
+my $generator =
     HTML::Latemp::GenMakeHelpers->new(
         'hosts' =>
         [
             },
         ],
     );
-    
+
 $generator->process_all();
 
 {
     foreach my $part_idx (1 .. 4)
     {
          # find all the .pm files in @INC
-         my @files = 
+         my @files =
             File::Find::Object::Rule
                 ->any(
                     (File::Find::Object::Rule
                     ),
                     (File::Find::Object::Rule
                         ->file()
-                        ->exec(sub { 
-                                $_[0] ne "index\.html" 
+                        ->exec(sub {
+                                $_[0] ne "index\.html"
                         })
                     ),
                 )->in("lib/tutorials/perl-for-newbies/lect${part_idx}-all-in-one/")
                 ;
-        
+
         foreach my $f (@files)
         {
             my $target = $f;
 
             # print $f, "\n";
             $target =~ s{\Alib/}{};
-           
+
             $target =~ s{/lect(\d+)-all-in-one/}{/part$1/};
-            
+
             $target = "\$(BERLIOS_DEST)/$target";
 
             push @targets, $target;
 
 my $hosts =
 {
-    berlios => 
+    berlios =>
     {
         base_url => "http://perl-begin.berlios.de/",
     },
                 {
                     text => "Elements to Avoid",
                     url => "tutorials/bad-elements/",
-                    title => "Elements of Perl that should be avoided and what to replace them with", 
+                    title => "Elements of Perl that should be avoided and what to replace them with",
                 },
                 {
                     text => "In Other Languages",
 
 sub get_params
 {
-    return 
+    return
         (
             hosts => $hosts,
             tree_contents => $tree_contents,
     my $self = shift;
 
     my (%args) = (@_);
-    
+
     my $with_accesskey = $args{'with_accesskey'};
 
     my $nav_links = $self->nav_links();
-    my $root = $self->root();    
+    my $root = $self->root();
 
-    my $template = 
+    my $template =
         Template->new(
         {
             'POST_CHOMP' => 1,
 
     my @buttons =
     (
-        { 
-            'dir' => "prev", 
-            'button' => "left", 
+        {
+            'dir' => "prev",
+            'button' => "left",
             'title' => "Previous Page",
         },
-        { 
-            'dir' => "up", 
-            'button' => "up", 
+        {
+            'dir' => "up",
+            'button' => "up",
             'title' => "Up in the Site",
         },
         {
-            'dir' => "next", 
-            'button' => "right", 
+            'dir' => "next",
+            'button' => "right",
             'title' => "Next Page",
         },
     );
             $button->{'link'} = $nav_links->{$dir};
         }
     }
-    
-    my $vars = 
+
+    my $vars =
     {
         'buttons' => \@buttons,
         'root' => $root,
         'with_accesskey' => $with_accesskey,
     };
-    
+
     my $nav_links_template = <<'EOF';
 [% USE HTML %]
 [% FOREACH b = buttons %]
 </li>
 [% END %]
 EOF
-    
+
     my $nav_buttons_html = "";
-    
+
     $template->process(\$nav_links_template, $vars, \$nav_buttons_html);
     return $nav_buttons_html;
 }

lib/bad-elements-sources.wml

 <a href="$(ROOT)/books/advanced/#pbp">The
 Book "Perl Best Practices"</a> by Damian Conway - contains a lot of good
 advice and food for thought, but sometimes should be deviated from.
-Also see the 
-<a href="https://www.socialtext.net/perl5/index.cgi?pbp_module_recommendation_commentary">"PBP 
+Also see the
+<a href="https://www.socialtext.net/perl5/index.cgi?pbp_module_recommendation_commentary">"PBP
 Module Recommendation Commentary"</a> on the Perl 5 Wiki.
 </p>
 </li>
 
 <li>
 <p>
-<a href="https://www.socialtext.net/perl5/index.cgi?ancient_perl">"Ancient 
+<a href="https://www.socialtext.net/perl5/index.cgi?ancient_perl">"Ancient
 Perl"</a> on the Perl 5 Wiki.
 </p>
 </li>
     />
 <ifeq "<get-var store />" "amazon"
       "<book_store_amazon %attributes />"
-      <group 
+      <group
             <a href="http://learn.perl.org/redirect?url=book;bookstore=<get-var store />;bookisbn=<get-var isbn />"><get-var title /></a>
       />
       />
 <if "<get-var online_url />" "<a href="<get-var online_url />"><b>Download/View Online</b></a><br />" "" />
 <if "<get-var perlbooksid />" "<get-var perlbookslink />" "" />
 
-<b>Buy From:</b> 
-<book_store isbn="<get-var isbn />" store="amazon" title="Amazon" /> - 
-<book_store isbn="<get-var isbn />" store="powells" title="Powells" /> - 
+<b>Buy From:</b>
+<book_store isbn="<get-var isbn />" store="amazon" title="Amazon" /> -
+<book_store isbn="<get-var isbn />" store="powells" title="Powells" /> -
 <book_store isbn="<get-var isbn />" store="amazonuk" title="Amazon UK" />
 <br />
 </div>
 
 <li>
 <p>
-<a href="http://www.gnu.org/software/ddd/">GNU DDD (The Data Display 
-Debugger)</a> - a Motif-based graphical front-end to several debuggers 
+<a href="http://www.gnu.org/software/ddd/">GNU DDD (The Data Display
+Debugger)</a> - a Motif-based graphical front-end to several debuggers
 including the perl debugger.
 </p>
 </li>

lib/perl-for-newbies.wml

 </perl_begin_sidebar>
 {#LATEMP_BODY_ATTRIBUTES#: class="no-news":##}
 
-<button id="toggle_nav_control" 
-onclick="javascript:toggle_nav_control()" 
+<button id="toggle_nav_control"
+onclick="javascript:toggle_nav_control()"
 class="toggle_nav_control off">Show Navigation Controls</button>
 
 <:{

lib/rejects/CLAN/download/index.html.wml

 <h2>LKMB - The Linux Kernel Module Builder</h2>
 
 <p>
-Grab its latest version as it is the most complete. Currently it is a Perl 
-Package that creates a bootstrap package for a Linux module. It is still 
+Grab its latest version as it is the most complete. Currently it is a Perl
+Package that creates a bootstrap package for a Linux module. It is still
 very incomplete, but partially usable.
 </p>
 
 <h2>Putting the code on CPAN</h2>
 
 <p>
-Eventually, everything is going to be on 
+Eventually, everything is going to be on
 <a href="http://www.cpan.org/">CPAN</a>, but meanwhile I don't feel it'
 s quite usable to put it there yet.
 </p>

lib/rejects/CLAN/links.html.wml

 </p>
 
 <p>
-<a href="http://www.joelonsoftware.com/articles/fog0000000043.html">The Joel 
+<a href="http://www.joelonsoftware.com/articles/fog0000000043.html">The Joel
 Test : 12 Steps to Better Code</a> - an insightful article (orignallly
 derived from the McConnell Test) giving some guidelines for useful management
 of a "shrinkwrap" project. CLAN aims for just that.
 <h2>Similar Efforts for Other Systems</h2>
 
 <p>
-<a href="http://www.cpan.org/">CPAN - The Comperhensive Perl 
+<a href="http://www.cpan.org/">CPAN - The Comperhensive Perl
 Archive Network</a> - a repository of useful modules for the Perl programming
 language, that can be installed at ease while resolving all depenedencies. CLAN
 ,in fact, will be available as a set of CPAN packages.
 
 <p>
 <a href="http://www.debian.org/distrib/packages">The Debian Package Pool</a> -
-a comprehensive repository of packages for the Debian GNU/Linux distribution 
+a comprehensive repository of packages for the Debian GNU/Linux distribution
 that are maintained by volunteers. Easily installable and upgradable using
 a utility named "apt".
 </p>
 </p>
 
 <p>
-<a href="http://www.freebsd.org/">FreeBSD</a> - its packages management is 
+<a href="http://www.freebsd.org/">FreeBSD</a> - its packages management is
 source based and very configurable (you can specify configuration options for
-packages at compile time). Also look for 
+packages at compile time). Also look for
 <a href="http://www.gentoo.org/">Gentoo Linux</a> which implemented a similar
 functionatily for a GNU/Linux system.
 </p>

lib/rejects/about-front-page.wml

 <p>
 Welcome to the unofficial Perl Beginners' Site. This site provides
 links and references to on-line and off-line material that can be used
-to learn Perl. It is intended for people who learn Perl 
+to learn Perl. It is intended for people who learn Perl
 after knowing one or more languages, as well as for people who are learning
 Perl as their first language.
 </p>

lib/rejects/mailing-lists.wml

 <h3><a href="http://www.perl.org.il/mailman/listinfo/starter/">The Israel.PM Starter</a></h3>
 
 <p>
-A mailing-list for Perl beginners (in English) by the 
+A mailing-list for Perl beginners (in English) by the
 <a href="http://www.perl.org.il">Israeli Perl Mongers</a>.
 </p>
 

lib/rejects/more-web-boxes.wml

       <div class="sidebarbox-border bg-blue02">
         <div class="sidebarbox-title-shading bg-blue05 txt-white">Check out options!</div>
         <p>This page shows only the basics of <b>GoFlexiblePro</b>. More options for  layout, picture, color and text, are found under <a href="options.html">Options</a>.</p>
-      </div>                        
-    
+      </div>
+
       <div class="sidebarbox-border bg-green02">
         <div class="sidebarbox-title-shading bg-green05 txt-white">It's free of charge</div>
-        <p>Enjoy the template at no cost. Feel free to retain my name as designer in the footer as a sign of your appreciation.</p>                 
-      </div>      
-  
+        <p>Enjoy the template at no cost. Feel free to retain my name as designer in the footer as a sign of your appreciation.</p>
+      </div>
+
       <div class="sidebarbox-border bg-red02">
         <div class="sidebarbox-title-shading bg-red05 txt-white">Any questions?</div>
-        <p>I am Gerhard, feel free to check one of my <a href="http://www.sda.org">favorite websites</a>. If you have any questions, simply mail me at <a href="mailto:gw@actamail.com">gw@actamail.com</a>.</p>                 
-      </div>      
+        <p>I am Gerhard, feel free to check one of my <a href="http://www.sda.org">favorite websites</a>. If you have any questions, simply mail me at <a href="mailto:gw@actamail.com">gw@actamail.com</a>.</p>
+      </div>
 

lib/rejects/style-before-sass.css

 /*-------------------------------*/
 
 body {
-	margin: 0em auto; 
+	margin: 0em auto;
     padding: 0em;
     font-family: arial, verdana, sans-serif;
 }
 
 #page-container {
-	width: 780px; margin: 0px auto; padding: 0px; border-left: solid 1px rgb(150,150,150); border-right: solid 1px rgb(150,150,150); 
+	width: 780px; margin: 0px auto; padding: 0px; border-left: solid 1px rgb(150,150,150); border-right: solid 1px rgb(150,150,150);
     /* Adding per http://stackoverflow.com/questions/74570/css-bad-gray-line-to-the-side-of-the-navigation-bar-on-httpperl-beginorg :
      * The background is transparent.*/
     background-color: white;
 	float: left; position: absolute; z-index: 3; width: 780px; top: 5px; background-color: transparent;
 }
 
-.nav-global ul {	
+.nav-global ul {
 	float: right; margin: 0px; padding: 0px; list-style: none;
-}	
+}
 
 .nav-global li {
 	float: left; white-space: nowrap; text-transform: uppercase;
     z-index: 1;
     width: 700px;
     top: 20px;
-    margin: 0px; 
+    margin: 0px;
     padding-left: 14px;
     background-color: transparent;
     color: rgb(225,225,225);
     font-size: xx-large;
     padding: 0;
     margin: 0;
-    color: white; 
+    color: white;
     width: auto;
     background-color:green;
     display: inline;
 }
 
 .nav-main ul
-{	
+{
 	list-style: none;
     margin: 0px;
     padding: 0px;
     font-weight: bold;
-}	
+}
 
 .nav-main li
 {
 }
 
 .navbar-sidebanner {
-	width: 160px; 
-    margin: 20pt 20pt 20pt 5pt; 
+	width: 160px;
+    margin: 20pt 20pt 20pt 5pt;
     padding-right: 1em;
     padding-bottom: 3em;
     padding-top: 1.5em;
 /* IE6-hack for min-height. Also works for IE7-Beta2 */
 * html .nav-sub {
 	height: 400px;
-} 
+}
 /* End IE-Hack */
 
 /*--------------------*/
 /* Section 4.2 - Menu */
 /*--------------------*/
 
-.nav-sub ul {	
+.nav-sub ul {
 	float: left; list-style: none; width: 160px; margin: 0px; padding: 0px; border-bottom: solid 1px rgb(200,200,200);
-}	
+}
 
 .nav-sub li {
 	margin: 0px; padding: 0px;
 	height: 1.5em;
 }
 /* End IE-Hack */
-	
+
 .nav-sub li a {
 	display: block; min-height: 1.5em; margin: 0px; padding: 3px 7px 2px 10px; border-left: solid 5px rgb(235,235,235); color: rgb(110,110,110); text-decoration: none; font-size: 120%;
 }
 /* IE6-hack for min-height. Also works for IE7-Beta2 */
 * html .container-content-sidebar {
 	height: 1200px;
-} 
+}
 /* End IE-Hack */
 
 /* Put a buffer between sub-navigation column and      */
 /* color does not come through in this place           */
 
 .buffer {
- 	float: left; width: 160px; height: 20px; margin: 0px; padding: 0px; background-color: rgb(255,255,255);	
+ 	float: left; width: 160px; height: 20px; margin: 0px; padding: 0px; background-color: rgb(255,255,255);
 }
 
 /***********************/
     width: 370px;
     margin: 0px;
     padding: 30px 20px 0px 10px;
-    background-color: rgb(255,255,255);	
+    background-color: rgb(255,255,255);
 }
 
 .no-news .content
 }
 
 .contentbox-title-shading {
-  	margin: 0px; padding: 1px 0px 2px 3px; background-color: rgb(225,225,225); font-weight: bold; font-size: 150%;	
+  	margin: 0px; padding: 1px 0px 2px 3px; background-color: rgb(225,225,225); font-weight: bold; font-size: 150%;
 }
 
 /*--------------------------------*/
 /*-------------------------------*/
 
 /* Heading */
-h1 
+h1
 {
 	clear: left;
     margin: 1.0em 0px 1.0em 0px;
 /* Ordered List */
 .content ol
 {
-	list-style-type: decimal; 
+	list-style-type: decimal;
     list-style-position: outside;
 }
 
 }
 
 .tabledata th {
-	margin: 0px; padding: 2px 7px 2px 7px; border: solid 1px rgb(150,150,150); empty-cells: show; text-align: left; font-size: 120%; 	
+	margin: 0px; padding: 2px 7px 2px 7px; border: solid 1px rgb(150,150,150); empty-cells: show; text-align: left; font-size: 120%;
 }
 
 p.tabledata-caption {
 }
 
 .img-right-border {
-	float: right; margin: 0.3em 0px 3px 7px; border: solid 1px rgb(150,150,150);	
+	float: right; margin: 0.3em 0px 3px 7px; border: solid 1px rgb(150,150,150);
 }
 
 /***********************/
 /* normed size of 1.0em. But making footer an exception will not hurt us.     */
 
 .footer {
-	clear: both; width: 780px; margin: 0em 0px 0px 0px; padding: 5px 0px 5px 0px; border-top: solid 1px rgb(200,200,200); border-bottom: solid 1px rgb(200,200,200); background-color: rgb(255,255,255); text-align: center;	
+	clear: both; width: 780px; margin: 0em 0px 0px 0px; padding: 5px 0px 5px 0px; border-top: solid 1px rgb(200,200,200); border-bottom: solid 1px rgb(200,200,200); background-color: rgb(255,255,255); text-align: center;
 }
 
 /***************************************************/
 }
 
 .content a:visited, .sidebar a:visited {
-	color: #080; 
+	color: #080;
 }
 
 .content a:hover, .sidebar a:hover {
 }
 
 .content-font {
-	font-size: 1.0em; line-height: 1.7em; 
+	font-size: 1.0em; line-height: 1.7em;
 }
 
 .sidebar-font {
     background-color : transparent;
 }
 
-div.bookinfo 
-{ 
+div.bookinfo
+{
     border-style : dotted;
     border-width : thin;
     /* LightYellow */

lib/rejects/wikis.wml

 <li>
 <a href="http://perl.wikia.com/wiki/Main_Page">Perl Wiki at the Wikia</a> -
-a Perl wiki at <a href="http://www.wikia.com/wiki/Wikia">Wikia</a>, a 
+a Perl wiki at <a href="http://www.wikia.com/wiki/Wikia">Wikia</a>, a
 community MediaWiki hosting service. Mostly unmaintained.
 </li>
 
         :font-weight bold
         :font-size 1.3em
         +headers-pos
-        
+
 
 
 .nav-main
 
 <define-tag perl_for_newbies_entry endtag="required">
 
-<h3 id="perl_for_newbies"><a href="$(ROOT)/tutorials/perl-for-newbies/">Perl for Perl 
+<h3 id="perl_for_newbies"><a href="$(ROOT)/tutorials/perl-for-newbies/">Perl for Perl
 Newbies Series</a></h3>
 
 %body

lib/tutorials/impatient-perl/iperl.html

 <html><head>
 
 
-	<meta http-equiv="CONTENT-TYPE" content="text/html; 
+	<meta http-equiv="CONTENT-TYPE" content="text/html;
 charset=utf-8">
 	<title></title>
 	<meta name="GENERATOR" content="OpenOffice.org 3.1  (Win32)">
 </p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Cover
 Art (Front and Back) on the paperback version of Impatient Perl is
 excluded from</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">this
 license. Cover Art is Copyright Greg London 2004, All Rights
 Reserved.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">For
 latest version of this work go to: </font></font></font>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000081"><font 
-face="Times-Roman, serif"><font size="3"><a 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000081"><font
+face="Times-Roman, serif"><font size="3"><a
 href="http://www.greglondon.com/">http://www.greglondon.com</a></font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 </p>
 <div id="Table_of_Contents1" dir="LTR">
 	<div id="Table_of_Contents1_Head" dir="LTR">
-		<p style="margin-top: 0.17in; page-break-after: avoid;"><font 
+		<p style="margin-top: 0.17in; page-break-after: avoid;"><font
 face="Arial, sans-serif"><font style="font-size: 16pt;" size="4"><b>Table
 
 		of Contents</b></font></font></p>
 </div>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">A
 quick explanation of the revision history. </font></font></font>
 </p>
 <p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">I
 lost the original Open Office files for “Impatient Perl”.
 To recover, I had to take the PDF, copy and paste the text, and then
 reconstructed version.</font></font></font></p>
 <p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">One
 of the problems with that version is that the text had hard-returns
 coded into it from the cut/paste. It might look like there's a
 hard-coded “\n” at the end of each line.</font></font></font></p>
 <p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">The
 January 2010 version attempts to remove all the hard-coded returns in
 the paragraph text and allow the word processor to determine where to
 wrap the text.</font></font></font></p>
 <p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">While
 I was working on that rev, I fixed a couple of typos and tweaked a
 sentence or two.</font></font></font></p>
 <p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font 
-color="#000000"><font face="Courier-Bold, monospace"><font 
+<p style="margin-bottom: 0in; font-weight: normal;" align="LEFT"><font
+color="#000000"><font face="Courier-Bold, monospace"><font
 style="font-size: 16pt;" size="4">Enjoy!
 Greg London</font></font></font></p>
 <h1 class="western" style="page-break-before: always;">1 The Impatient
 Introduction to Perl</h1>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">This
 document is for people who either want to learn perl or are already
 programming in perl and just do not have the patience to scrounge for
 information to learn and use perl. This document should also find use
 as a handy desk reference for some of the more</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">common
 perl related questions.</font></font></font></p>
 <h2 class="western">1.1 The history of perl in 100 words or less</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">In
 the mid 1980s, Larry Wall was working as a sys-admin and found that
 he needed to do a number of common, yet oddball functions over and
 </p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 6 is on the drawing board as a fundamental rewrite of the language.
 It is not available yet, and probably will not be available for some
 time.</font></font></font></p>
 <h2 class="western">1.2 Basic Formatting for this Document</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">This
 document is formatted into text sections, code sections, and shell
 sections. This sentence is part of a text section. Text sections will
 <p class="code-western">&gt; the script is dropped to save space.</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">As
 an example, the code for a simple "Hello World" script is
 shown here. It can be typed into a file of any name. The name of the
 <p class="code-western">&gt; Hello World</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">THIS
 DOCUMENT REFERS TO (LI/U)NIX PERL ONLY. Much of this will translate
 to Mac Perl and Windows Perl, but the exact translation will be left
 as an exercise to the reader.</font></font></font></p>
 <h2 class="western">1.3 Do You Have Perl Installed</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">To
 find out if you have perl installed and its version:</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">&gt; perl -v</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 should have at least version 5.8.3. If you have an older version or
 if you have no perl installed at all, you can download it for free
 <p class="code-western"><a href="http://www.cpan.org/">http://www.cpan.org</a></p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">CPAN
 is an acronym for Comprehensive Perl Archive Network. The CPAN site
 contains the latest perl for download and installation, as well as a
 TON of perl modules for your use.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 you are a beginner, get your sys-admin to install perl for you. Even
 if you are not a beginner, get your sys-admin to install perl for
 <p style="margin-bottom: 0in; page-break-before: always;" align="LEFT"><br>
 </p>
 <h2 class="western">1.4 Your First Perl Script, EVER</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Create
 a file called hello.pl using your favorite text editor. Type in the
 following:</font></font></font></p>
 <p class="code-western">print "Hello World \n";</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">(The
 #! on the first line is sometimes pronounced "shebang")</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">(The
 .pl extension is simply a standard accepted extension for perl
 scripts.)</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Run
 the script:</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">Hello World</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">This
 calls perl and passes it the name of the script to execute. You can
 save yourself a little typing if you make the file executable:</font></font></font></p>
 <p class="code-western">&gt; chmod +x hello.pl</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">And
 then run the script directly.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">Hello World</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">If
 </font><font face="Courier, monospace"><font size="3">"." </font></font><font
  size="3">is
 <p class="code-western">&gt; ./hello.pl</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">HOORAY!
 Now go update your resume.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Anything
 from a # character to the end of the line is a comment.</font></font></font></p>
 <h2 class="western">1.5 Default Script Header</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">All
 the code examples in this document are assumed to have the following
 script header, unless otherwise stated. It uses your PATH environment
 <p class="code-western">use warnings;</p>
 <p class="code-western">use strict;</p>
 <p class="code-western"><font face="Courier, monospace"><font size="3">use
-</font></font><a href="data::Dumper"><font color="#000081"><font 
+</font></font><a href="data::Dumper"><font color="#000081"><font
 face="Courier, monospace"><font size="3">Data::Dumper</font></font></font></a><font
  face="Courier, monospace"><font size="3">;</font></font></p>
 <p style="margin-bottom: 0in;"><br>
 </p>
-<p style="margin-bottom: 0in;"><font face="Courier, monospace"><font 
+<p style="margin-bottom: 0in;"><font face="Courier, monospace"><font
 size="3">Note
-that </font></font><a href="data::Dumper"><font face="Courier, 
-monospace"><font size="3">Data::Dumper</font></font></a><font 
+that </font></font><a href="data::Dumper"><font face="Courier,
+monospace"><font size="3">Data::Dumper</font></font></a><font
 face="Courier, monospace"><font size="3">
-takes some time to load and you wouldn't want to use </font></font><a 
+takes some time to load and you wouldn't want to use </font></font><a
 href="data::Dumper"><font face="Courier, monospace"><font size="3">Data::Dumper</font></font></a><font
  face="Courier, monospace"><font size="3">
-on some timing-critical project. But for learning </font></font><font 
+on some timing-critical project. But for learning </font></font><font
 face="Courier, monospace"><font size="3">perl
 with simple scripts, the execution speed isn't that high of a
 priority. If you're writing a “real” script (i.e. one
 where time-to-run and memory-usage are issues to be considered), then
-don't use </font></font><a href="data::Dumper"><font face="Courier, 
-monospace"><font size="3">Data::Dumper</font></font></a><font 
+don't use </font></font><a href="data::Dumper"><font face="Courier,
+monospace"><font size="3">Data::Dumper</font></font></a><font
 face="Courier, monospace"><font size="3">
 by default, only use it if you really need it.</font></font></p>
 <h2 class="western">1.6 Free Reference Material</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 can get quick help from the standard perl installation.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">&gt; perldoc perldoc</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">FAQs
 on CPAN: </font><font color="#000081"><font size="3">http://www.cpan.org/cpan-faq.html</font></font></font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">Mailing
 Lists on CPAN: </font><font color="#000081"><font size="3">http://list.cpan.org</font></font></font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">More
-free documentation on the web: </font><font color="#000081"><font 
+free documentation on the web: </font><font color="#000081"><font
 size="3">http://www.perldoc.com</font></font></font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">Still
-more free documentation on the web: </font><font color="#000081"><font 
+more free documentation on the web: </font><font color="#000081"><font
 size="3">http://learn.perl.org</font></font></font></font></font></p>
 <h2 class="western">1.7 Cheap Reference Material</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">"Programming
 Perl" by Larry Wall, Tom Christiansen, and Jon Orwant. Highly
 recommended book to have handy at all times. It is sometimes referred
 because that refers to a book called "Compilers" by Aho,
 Sethi, and Ullman.</font></font></font></p>
 <h2 class="western">1.8 Acronyms and Terms</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl:
 Originally, "Pearl" shortened to "Perl" to gain
 status as a 4-letter word. Now considered an acronym for Practical
 somewhere near /usr/local/bin/perl</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">CPAN:
 Comprehensive Perl Archive Network. See <font color="#000081">http://www.cpan.org
 </font>for more.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">DWIM:
 Do What I Mean. Once upon a time, the standard mantra for computer
 inflexibility was this: "I really hate this darn machine, I wish
 had to write perl in C, so they could not be TOO lazy.)</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">AUTOVIVIFY:
 "auto" meaning "self". "vivify" meaning
 "alive". To bring oneself to life. Generally applies to
 </p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">And
 now, a Haiku:</font></font></font></p>
 <p class="code-western">Do What I Mean and</p>
 <p class="code-western">sometimes unwanted</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">TMTOWTDI:
 There is More Than One Way To Do It. An acknowledgment that any
 programming problem has more than one solution. Rather than have perl
 rope to hang himself.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Foo
 Fighters: A phrase used around the time of WWII by radar operators to
 describe a signal that could not be explained. Later became known as
 is a common variable name used in perl.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Fubar:
 Another WWII phrase used to indicate that a mission had gone
 seriously awry or that a piece of equipment was inoperative. An
 code well enough to come up with better names. If you use a $foo
 variable in your code, you deserve to maintain it.</font></font></font></p>
 <h1 class="western">2 Storage</h1>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 has three basic storage types: Scalars, Arrays, and Hashes.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 most basic storage type is a Scalar.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Arrays
 and Hashes use Scalars to build more complex data types.</font></font></font></p>
 <h2 class="western">2.1 Scalars</h2>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Scalars
 are preceded with a dollar sign sigil. A "$" is a stylized
 "S".</font></font></font></p>
 refers to the symbol in front of a variable.</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Scalars
 can store Strings, Numbers (integers and floats), References, and
 Filehandles. Perl is smart enough to know which type you are putting
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <p class="code-western">my $diameter = 42; 		# The “my”
-keyword declares a lexical 
+keyword declares a lexical
 </p>
 <p class="code-western">my $pi = 3.1415;		# variable. If you don't
 know what</p>
 <p class="code-western">my $initial = 'g';		# that means, don't worry
 about it,</p>
 <p class="code-western">my $name = 'John Doe';	# it will be explained
-later. 
+later.
 </p>
 <p class="code-western">my $ref_to_name = \$name	# Specifically, in
 section 4</p>
 </p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">In
 some situations, autovivication is handy. However, in certain
 situations, autovivification can be an unholy monster.</font></font></font></p>
 zero.</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">Without
 </font><font face="Courier, monospace"><font size="3">use warnings; use
 strict; </font></font><font size="3">perl will autovivify a new
 that is what you meant to do. There is no reason that warnings and
 strictness should not be turned on in your scripts.</font></font></font></font></p>
 <h3 class="western">2.1.1 Scalar Strings</h3>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Scalars
 can store strings. You do not have to declare the length of the
 string, perl just handles it for you automatically.</font></font></font></p>
 <h4 class="western">2.1.1.1 String Literals</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">String
 literals must be in single or double quotes or you will get an error.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">reserved word</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 can use single quotes or double quotes to set off a string literal:</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">&gt; hello, mud</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 can also create a list of string literals using the qw() function.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">&gt; first is 'John'</p>
 <p class="code-western">&gt; last is 'Doe'</p>
 <h4 class="western">2.1.1.2 Single quotes versus Double quotes</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Single
 quoted strings are a "what you see is what you get" kind of
 thing.</font></font></font></p>
 <p class="code-western">&gt; hello $name</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Double
 quotes means that you get SOME variable interpolation during string
 evaluation. Complex variables, such as a hash lookup, will not be
 <p class="code-western">&gt; hello mud</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Note:
 a double-quoted "\n" is a new-line character.</font></font></font></p>
 <h4 class="western">2.1.1.3 chomp</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 may get rid of a newline character at the end of a string by
 chomp-ing the string. The chomp function removes one new line from
 <p class="code-western">warn "string is '$string' \n"</p>
 <p class="code-western">&gt; string is 'hello world' ...</p>
 <h4 class="western">2.1.1.4 concatenation</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">String
 concatenation uses the period character "."</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <p class="code-western">my $fullname = 'mud' . "bath";</p>
 <h4 class="western">2.1.1.5 repetition</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Repeat
 a string with the "x" operator.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <p class="code-western">my $line = '-' x 80; # $line is eighty hypens</p>
 <h4 class="western">2.1.1.6 length</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Find
 out how many characters are in a string with length().</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">substr ( STRING_EXPRESSION, OFFSET, LENGTH);</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Spin,
 fold, and mutilate strings using substr(). The substr function gives
 you fast access to get and modify chunks of a string. You can quickly
 <p class="code-western">&gt; chunk is 'in' ...</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 substr function can also be assigned to, replacing the chunk as well.
 You need a string contained in a variable that can be modified,
 <p class="code-western">split(/PATTERN/, STRING_EXPRESSION,LIMIT);</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 the split function to break a string expression into components when
 the components are separated by a common substring pattern. For
 <p class="code-western">= split(/\t/, $tab_sep_data);</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 can break a string into individual characters by calling split with
 an empty string pattern "". The /PATTERN/ in split() is a
 ...);</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 join to stitch a list of strings into a single string.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">&gt; string is 'apples and bananas and
 peaches'...</p>
 <h4 class="western">2.1.1.10 qw</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 qw() function takes a list of barewords and quotes them for you.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western" style="margin-left: 0in;"><br>
 </p>
 <h4 class="western">2.1.1.11 Multi-Line Strings, HERE Documents</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 allows you to place a multi-line string in your code by using what it
 calls a "here document”.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <p class="code-western">My $string = &lt;&lt;”ENDOFDOCUMENT”;</p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Courier, monospace"><font size="3">Do
 What I Mean and</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Courier, monospace"><font size="3">Autovivification</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Courier, monospace"><font size="3">sometimes
 unwanted</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Courier, monospace"><font size="3">ENDOFDOCUMENT</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <p class="code-western">&gt; sometimes unwanted' at ...</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 '&lt;&lt;' indicates a HERE document, followed by the name of the
 label indicating the end of the here document. Enclosing the label in
 double quotes means that perl variables in the document will get
 interpolated as strings. Enclosing the label in single quotes means
 that no string interpolation occurs.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 then reads the lines after the '&lt;&lt;' as string literal content
 until it sees the end of string label positioned at the beginning of
 <h3 class="western"></h3>
 <h3 class="western" style="page-break-before: always;">2.1.2 Scalar
 Numbers</h3>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 generally uses floats internally to store numbers. If you specify
 something that is obviously an integer, it will use an integer.
 <p class="code-western">my $days_in_week = 7; # scalar =&gt; integer</p>
 <p class="code-western">my $temperature = 98.6; # scalar =&gt; float</p>
 <h4 class="western">2.1.2.1 Numeric Literals</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 allows several different formats for numeric literals, including
 integer, floating point, and scientific notation, as well as decimal,
 octal, and hexadecimal.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Binary
 numbers begin with "0b"</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">hexadecimal
 numbers begin with "0x"</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Octal
 number begin with a "0"</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">All
 other numeric literals are assumed to be decimal.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <h4 class="western">2.1.2.2 Numeric Functions</h4>
 <h4 class="western">2.1.2.3 abs</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 abs to get the absolute value of a number.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">my $var1 = abs(-3.4); # var1 is 3.4</p>
 <p class="code-western">my $var2 = abs(5.9); # var2 is 5.9</p>
 <h4 class="western">2.1.2.4 int</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 "int" to convert a floating point number to an integer.
 Note that this truncates everything after the decimal point, which
 </p>
 <p style="margin-bottom: 0in; page-break-before: always;" align="LEFT"><font
  color="#000000"><font face="Times-Roman, serif"><font size="3">If
-you want to <font color="#000000"><font face="Times-Roman, serif"><font 
-size="3"><font color="#000000"><font face="Times-Roman, serif"><font 
+you want to <font color="#000000"><font face="Times-Roman, serif"><font
+size="3"><font color="#000000"><font face="Times-Roman, serif"><font
 size="3"></font></font></font></font></font></font></font></font></font><font
  color="#000000"><font face="Times-Roman, serif"><font size="3">round
 a float to the nearest integer, you will need to write a bit of code.
 $price);</p>
 <p class="code-western"># dollars is 10</p>
 <h4 class="western">2.1.2.5 trigonometry (sin,cos,tan)</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 sin, cos, and tan functions return the sine, cosine, and tangent of a
 value given in RADIANS. If you have a value in DEGREES, multiply it
 <p class="code-western">my $sine_rad = sin($radians); # 0.707</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 you need inverse sine, cosine, or tangent, then use the Math::Trig
 module on CPAN.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
 <h4 class="western">2.1.2.6 exponentiation</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">Use
 the </font><font face="Courier, monospace"><font size="3">"</font></font><font
- face="Courier, monospace"><font size="3">**</font></font><font 
+ face="Courier, monospace"><font size="3">**</font></font><font
 face="Courier, monospace"><font size="3">"
 </font></font><font size="3">operator to raise a number to some power.</font></font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">my $fourth_root_of_81 = 81 ** (1/4); # 3</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Standard
 perl cannot handle imaginary numbers. Use the Math::Complex module on
 CPAN.</font></font></font></p>
 <h4 class="western">2.1.2.7 sqrt</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 sqrt to take the square root of a positive number.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <h4 class="western"></h4>
 <h4 class="western" style="page-break-before: always;">2.1.2.8 natural
 logarithms(exp,log)</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">The
 </font><font face="Courier, monospace"><font size="3">exp </font></font><font
  size="3">function
-returns </font><font face="Times-Italic, serif"><font style="font-size: 
+returns </font><font face="Times-Italic, serif"><font style="font-size:
 16pt;" size="4"><i>e</i></font></font><font face="Times-Italic, serif"><font
  style="font-size: 16pt;" size="4"><i>
 </i></font></font><font size="3">to the power of the value given. To
-get </font><font face="Times-Italic, serif"><font style="font-size: 
+get </font><font face="Times-Italic, serif"><font style="font-size:
 16pt;" size="4"><i>e</i></font></font><font size="3">,
 call </font><font face="Courier, monospace"><font size="3">exp(1);</font></font></font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">my $big_num= exp(42); # 2.7183 ** 42 = 1.7e18</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 log function returns the inverse exp() function, which is to say, log
-returns the number to which you would have to raise <font 
+returns the number to which you would have to raise <font
 face="Times-Italic, serif"><font style="font-size: 16pt;" size="4"><i>e
 </i></font></font>to get the value passed in.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">my $inv_exp = log($big_num); # inv_exp = 42</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 you want another base, then use this subroutine:</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 = 4.1</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Note
 that inverse natural logs can be done with exponentiation, you just
-need to know the value of the magic number <font face="Times-Italic, 
+need to know the value of the magic number <font face="Times-Italic,
 serif"><font style="font-size: 16pt;" size="4"><i>e
 </i></font></font>(~ 2.718281828). The exp function is
 straightforward exponentiation:</font></font></font></p>
 <p class="code-western">my $big_num = $value_of_e ** 42;</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Natural
 logarithms simply use the inverse of the value (i.e. 1/value) with
 exponentiation.</font></font></font></p>
 <p class="code-western"># inv_exp = 2.7183 ** (1/1.7e18) = 42</p>
 <p class="code-western">my $inv_exp = $value_of_e ** (1/$big_num);</p>
 <h4 class="western">2.1.2.9 random numbers (rand, srand)</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 rand function is a pseudorandom number generator (PRNG).</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 a value is passed in, rand returns a number that satisfies ( 0 &lt;=
 return &lt;= input )</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 no value is passed in, rand returns a number in the range ( 0 &lt;=
 return &lt; 1 )</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">The
 srand function will seed the PRNG with the value passed in. If no
 value is passed in, srand will seed the PRNG with something from the
 equal to 5.004, you should not need to call it at all, because perl
 will call srand at startup.</font></font></font></p>
 <h4 class="western">2.1.3 Converting Between Strings and Numbers</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Many
 languages require the programmer to explicitly convert numbers to
 strings before printing them out and to convert strings to numbers
 languages.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 will attempt to apply Do What I Mean to your code and just Do The
 Right Thing. There are two basic conversions that can occur:
 stringification and numification.</font></font></font></p>
 <h4 class="western">2.1.3.1 Stringify</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Stringify:
 Converting something other than a string to a string form.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Perl
 will automatically convert a number (integer or floating point) to a
 string format before printing it out.</font></font></font></p>
 <p class="code-western">&gt; volume is '4' ...</p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Even
 though $mass is stored internally as a floating point number and
 $volume is stored internally as an integer, the code did not have to
 <p class="code-western"><br>
 </p>
 <h5 class="western">2.1.3.1.1 sprintf</h5>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Use
 sprintf to control exactly how perl will convert a number into string
 format.</font></font></font></p>
 <p class="code-western">sprintf ( FORMAT_STRING, LIST_OF_VALUES );</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">For
 example:</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">f =&gt; floating point notation</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">To
 convert a number to a hexadecimal, octal, binary, or decimal formated
 string, use the following FORMAT_STRINGS:</font></font></font></p>
 <p class="code-western">decimal float "%f"</p>
 <p class="code-western">scientific "%e"</p>
 <h4 class="western">2.1.3.2 Numify</h4>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Numify:
 Converting something other than a number to a numeric form.</font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">Sometimes
 you have string information that actually represents a number. For
 example, a user might enter the string "19.95" which must
 be converted to a float before perl can perform any arithmetic on it.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">You
 can force numification of a value by adding integer zero to it.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 <p class="code-western">my $price = $user_input+0; # 19.95</p>
 <p class="code-western"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">If
 the string is NOT in base ten format, then use oct() or hex()</font></font></font></p>
 <p style="margin-bottom: 0in; page-break-before: always;" align="LEFT"><br>
 </p>
 <h5 class="western">2.1.3.2.1 oct</h5>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="2"><font size="3">The
 </font><font face="Courier, monospace"><font size="3">oct</font></font><font
  face="Courier, monospace"><font size="3">
 </font></font><font size="3">function can take a string that fits the
 octal, hexadecimal, or binary format and</font></font></font></font></p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">convert
 it to an integer.</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">binary
 formatted strings must start with "0b"</font></font></font></p>
 <p style="margin-bottom: 0in;" align="LEFT"><br>
 </p>
-<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font 
+<p style="margin-bottom: 0in;" align="LEFT"><font color="#000000"><font
 face="Times-Roman, serif"><font size="3">hexadecimal