From: <Saved by Microsoft Internet Explorer 5>
Subject: PERL SCRIPTS ASP asp.NET scripts Windows 2000 2003 NT ASP asp.NET Web Hosting FRONTPAGE Host CGI ACCESS PERL PHP MS Mysql WAP cheap XP Microsoft FTP domain dot net reseller Shoppingcart secure ssl database email site website
Date: Mon, 26 Jan 2009 10:46:17 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0054_01C97FA3.5118DAF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.generalhosting.com/scripts/perl-scripts.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!---=20

--------------------------------------------------------------

----------------
Include Top Navigation
--------------------------------------------------------------

----------------- ---><HTML><HEAD><TITLE>PERL SCRIPTS ASP asp.NET =
scripts Windows 2000 2003 NT ASP asp.NET Web Hosting FRONTPAGE Host CGI =
ACCESS PERL PHP MS Mysql WAP cheap XP Microsoft FTP domain dot net =
reseller Shoppingcart secure ssl database email site website</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252"><!--$7.95 Windows NT 2000 2003 ASP .NET Web =
Hosting FRONTPAGE extensions Host asp.NET PERL CGI MS ACCESS Mysql WAP =
wireless cheap PHP XP Microsoft FTP domain dot net reseller Shoppingcart =
secure ssl database email site website Ebay Ecommerce SHOPPING CART UPS =
payments LinkPoint AuthorizeNet credit card submit free URL miva verio =
hostpro xo blackthorn --><!--$7.95 Microsoft Windows NT 2000 2003 ASP =
.NET Web Hosting FRONTPAGE extensions Host asp.NET PERL CGI MS ACCESS =
Mysql WAP cheap PHP XP Microsoft EMAIL FTP domain dot net reseller =
Shoppingcart secure ssl database email site website, FrontPage 2000 2002 =
XP, Stats, Email, wml, wireless, Ebay, Ecommerce, shopping cart, =
SHOPPING, CART, UPS, secure payments, LinkPoint, AuthorizeNet, credit =
card, merchant account, merchant, submit, verio, wireless, search =
engines, free URL, free, miva, hostpro, xo, interland, blackthorne, =
microsoft, windows, windows2000, windows 2000, windows 2003, windowsnt, =
windows nt -->
<META=20
content=3D"PERL SCRIPTS ASP asp.NET scripts Windows 2000 2003 ASP =
asp.NET Web Hosting FRONTPAGE extensions Host asp.NET PERL CGI MS ACCESS =
Mysql WAP wireless cheap PHP XP Microsoft FTP domain dot net reseller =
Shoppingcart secure ssl database email site website Ebay Ecommerce =
SHOPPING CART UPS payments LinkPoint AuthorizeNet credit card submit =
free URL miva verio hostpro xo blackthorn"=20
name=3Ddescription>
<META content=3D"MSHTML 6.00.2900.2180" name=3DGENERATOR>
<META=20
content=3D"PERL SCRIPTS ASP asp.NET scripts Windows 2000 2003 NT ASP =
asp.NET Web Hosting FRONTPAGE extensions Host asp.NET PERL CGI MS ACCESS =
Mysql WAP cheap PHP XP Microsoft EMAIL FTP domain dot net reseller =
Shoppingcart secure ssl database email site website, FrontPage 2000 2002 =
XP, Stats, Email, wml, wireless, Ebay, Ecommerce, shopping cart, =
SHOPPING, CART, UPS, secure payments, LinkPoint, AuthorizeNet, credit =
card, merchant account, merchant, submit, verio, wireless, search =
engines, free URL, free, miva, hostpro, xo, interland, blackthorne, =
microsoft, windows, windows2000, windows 2000, windows 2003, windowsnt, =
windows nt"=20
name=3Dkeywords>
<META content=3DFrontPage.Editor.Document name=3DProgId>
<META content=3Dall name=3Drobots><LINK=20
href=3D"http://www.generalhosting.com/htm/fc_03_style.css" =
type=3Dtext/css=20
rel=3DSTYLESHEET></HEAD>
<BODY style=3D"BACKGROUND-COLOR: #ffffff" leftMargin=3D0 topMargin=3D0=20
marginheight=3D"0" marginwidth=3D"0">
<DIV align=3Dcenter>
<CENTER>
<TABLE style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D0=20
width=3D"100%" bgColor=3Dwhite border=3D0>
  <TBODY>
  <TR bgColor=3Dwhite>
    <TD vAlign=3Dtop height=3D55 rowSpan=3D3>
      <TABLE style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D0=20
      width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD width=3D"1%"><A=20
            href=3D"http://www.generalhosting.com/index.htm"><IMG =
height=3D49=20
            alt=3D"GENERAL HOSTING - Reliable Microsoft WINDOWS hosting, =
MULTIPLE DOMAIN names; $7.95/month; FRONTPAGE2000, 24hrs-FTP, Stats, =
ASP, PERL CGI, MS-ACCESS, Email, Subwebs, WAP, SECURE PAYMENTS, SSL, =
SHOPPING CART, Ecommerce CREDIT CARDS merchant accounts, RESELLER plans, =
authorize, linkpoint, cybercash, gateway; java, php, ssi, ipp, =
realaudio, realvideo, database, midi, Python, domain name registration, =
registrars, network solutions, chat, 2000, NT, Windows, General Hosting =
amazon, ebay, yahoo, aol, midi, sql, mysql mac "=20
            src=3D"http://www.generalhosting.com/pictgif/log.gif" =
width=3D49=20
            border=3D0></A></TD>
          <TD width=3D"1%"><STRONG><FONT face=3DArial color=3D#ffffff=20
            size=3D1>.</FONT></STRONG></TD>
          <TD width=3D"50%"><A=20
            href=3D"http://www.generalhosting.com/index.htm"><IMG =
height=3D21=20
            alt=3D"ASP asp.NET Web Hosting FRONTPAGE Host Windows 2003 =
CGI ACCESS PERL PHP MS Mysql WAP cheap XP Microsoft 2000 2002 nt FTP =
domain dot net reseller Shoppingcart secure ssl database email site =
website"=20
            src=3D"http://www.generalhosting.com/pictgif/genera.gif" =
width=3D250=20
            border=3D0></A> <I><FONT face=3DArial color=3D#d60021=20
            size=3D1><B>WinWeb</B></FONT><B><FONT =
size=3D2><BR></FONT></B></I><FONT=20
            face=3DArial color=3D#ffcc39 size=3D1><STRONG>Microsoft =
Windows Hosting,=20
            ASP, ASP.NET, Multiple Domain Name=20
        Plans</STRONG></FONT></TD></TR></TBODY></TABLE></TD>
    <TD height=3D3><IMG height=3D1=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR>
    <TD vAlign=3Dtop align=3Dright><A class=3Dcaps=20
      =
href=3D"http://www.generalhosting.com/index.htm">home</A>&nbsp;&nbsp;&nbs=
p;|&nbsp;&nbsp;&nbsp;<A=20
      class=3Dcaps =
href=3D"http://www.generalhosting.com/htm/aboutus.htm">about=20
      us</A>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<A class=3Dcaps=20
      href=3D"http://www.generalhosting.com/htm/contact.htm">contact=20
      us</A>&nbsp;&nbsp;&nbsp;</TD></TR>
  <TR bgColor=3Dwhite>
    <TD class=3Dtiny vAlign=3Dtop align=3Dright>Hosting web sites since=20
      1997&nbsp;&nbsp;&nbsp;</TD></TR>
  <TR bgColor=3Dwhite>
    <TD bgColor=3Dwhite colSpan=3D2>
      <TABLE cellSpacing=3D2 cellPadding=3D0 width=3D"100%" =
bgColor=3Dwhite border=3D0>
        <TBODY>
        <TR bgColor=3Dwhite height=3D20 width=3D"800">
          <TD class=3Ddark_brown style=3D"BACKGROUND-COLOR: #d60021"=20
          width=3D45>&nbsp;</TD><!--- Begin Header If Conditons =
---><!---=20

--------------------------------------------------------------

----------------
Web Hosting On
--------------------------------------------------------------

----------------- --->
          <TD class=3Dnavon style=3D"BACKGROUND-COLOR: #000000" noWrap=20
            align=3Dmiddle><A =
href=3D"http://www.generalhosting.com/htm/common.htm">
            <H1>WEB HOSTING</H1></A></TD>
          <TD class=3Dnav noWrap align=3Dmiddle><A=20
            href=3D"http://www.generalhosting.com/htm/ecommerce.htm">
            <H1>ECOMMERCE</H1></A></TD>
          <TD class=3Dnav noWrap align=3Dmiddle><A=20
            href=3D"http://www.generalhosting.com/htm/freedomain.htm">
            <H1>DOMAIN NAMES</H1></A></TD>
          <TD class=3Dnav style=3D"BACKGROUND-COLOR: #fa6626" noWrap=20
            align=3Dmiddle><A=20
href=3D"http://www.generalhosting.com/htm/support.htm">
            <H1>SUPPORT</H1></A></TD>
          <TD class=3Dnav noWrap align=3Dmiddle><A=20
            =
href=3D"http://www.generalhosting.com/htm/referralpartner.htm">
            <H1>REFERRAL PARTNERS</H1></A></TD>
          <TD class=3Dnav noWrap align=3Dmiddle><A=20
            href=3D"http://www.generalhosting.com/htm/order.htm">
            <H1>ORDER</H1></A></TD>
          <TD class=3Dnav noWrap align=3Dmiddle><A=20
            href=3D"http://www.generalhosting.com/htm/support.htm">
            <H1>LOGIN</H1></A></TD><!---=20

--------------------------------------------------------------

----------------
Web Design On
--------------------------------------------------------------

----------------- ---><!--- End Header If Conditons --->
          <TD class=3Ddark_brown style=3D"BACKGROUND-COLOR: #d60021"=20
          width=3D45>&nbsp;</TD></TR>
        <TR bgColor=3Dwhite height=3D15 width=3D"800">
          <TD class=3Dlight_brown style=3D"BACKGROUND-COLOR: =
#ff9900"><IMG=20
            height=3D1 =
src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1=20
            border=3D0></TD>
          <TD class=3Ddark_cream align=3Dright colSpan=3D7>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD class=3Dnav vAlign=3Dbottom align=3Dmiddle =
width=3D15><A=20
                  href=3D"http://www.generalhosting.com/index.htm"><IMG =
height=3D15=20
                  alt=3Dhome=20
                  =
src=3D"http://www.generalhosting.com/htm/icon_house.gif"=20
                  width=3D15 border=3D0></A></TD>
                <TD bgColor=3Dwhite><IMG height=3D1=20
                  src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D2=20
                  border=3D0></TD>
                <TD class=3Dnav noWrap align=3Dmiddle width=3D15><A=20
                  =
href=3D"http://www.generalhosting.com/htm/contact.htm"><IMG=20
                  height=3D15 alt=3D"call us"=20
                  =
src=3D"http://www.generalhosting.com/htm/icon_phone.gif"=20
                  width=3D15 border=3D0></A></TD>
                <TD bgColor=3Dwhite><IMG height=3D1=20
                  src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D2=20
                  border=3D0></TD>
                <TD class=3Dnav noWrap align=3Dmiddle width=3D15><A=20
                  =
href=3D"http://www.generalhosting.com/htm/contact.htm"><IMG=20
                  height=3D15 alt=3D"email us"=20
                  =
src=3D"http://www.generalhosting.com/htm/icon_email.gif"=20
                  width=3D15 border=3D0></A></TD>
                <TD bgColor=3Dwhite><IMG height=3D1=20
                  src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D2=20
                  border=3D0></TD>
                <TD class=3Dnav noWrap align=3Dmiddle width=3D15><A=20
                  =
href=3D"http://www.generalhosting.com/htm/support.htm"><IMG=20
                  height=3D15 alt=3D"customer support"=20
                  =
src=3D"http://www.generalhosting.com/htm/icon_question.gif"=20
                  width=3D15 border=3D0></A></TD>
                <TD bgColor=3Dwhite><IMG height=3D1=20
                  src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D2=20
                  border=3D0></TD>
                <TD class=3Ddark_cream style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                align=3Dright width=3D"100%"><SPAN class=3Dtiny>For =
Phone Support=20
                  Call: <STRONG=20
                  style=3D"COLOR: =
#993300">1.212.753.1520</STRONG>&nbsp;&nbsp;</SPAN></TD></TR></TBODY></TA=
BLE></TD>
          <TD class=3Dlight_brown style=3D"BACKGROUND-COLOR: =
#ff9900"><IMG=20
            height=3D1 =
src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1=20
            border=3D0></TD></TR></TBODY></TABLE></TD></TR><!---End Top =
Nav ---><!---End Top Nav --->
  <TR>
    <TD colSpan=3D2><IMG height=3D4 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR>
    <TD background=3Dhttp://www.generalhosting.com/htm/dotline.gif=20
      colSpan=3D2><IMG height=3D1 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR>
    <TD colSpan=3D2><IMG height=3D4 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR bgColor=3Dwhite>
    <TD vAlign=3Dtop bgColor=3D#ffffff colSpan=3D2>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
bgColor=3Dwhite border=3D0>
        <TBODY>
        <TR>
          <TD class=3Dtan style=3D"BACKGROUND-COLOR: #ffcc39" =
width=3D10><IMG=20
            height=3D1 alt=3D"" =
src=3D"http://www.generalhosting.com/htm/spacer.gif"=20
            width=3D3 border=3D0></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D3=20
          border=3D0></TD>
          <TD width=3D2=20
            =
background=3Dhttp://www.generalhosting.com/htm/dotline.gif><IMG=20
            height=3D1 alt=3D"" =
src=3D"http://www.generalhosting.com/htm/spacer.gif"=20
            width=3D2 border=3D0></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D5=20
          border=3D0></TD>
          <TD class=3Dlight_cream style=3D"BACKGROUND-COLOR: #fffdd4" =
vAlign=3Dtop=20
          width=3D180><!--- =
-------------------------------------------------------------------------=
-----
Start of Left Nav Portion
-------------------------------------------------------------------------=
------ ---><!--- Begin  sales center box---><!--- Begin  Hosting subnav =
bar ---><!--- End  Hosting subnav bar ---><!--- =
-------------------------------------------------------------------------=
-----
End of Left Nav Portion
-------------------------------------------------------------------------=
------ --->
            <TABLE style=3D"BORDER-COLLAPSE: collapse" =
borderColor=3D#111111=20
            cellSpacing=3D3 cellPadding=3D0 width=3D"100%" =
bgColor=3Dwhite border=3D0>
              <TBODY>
              <TR>
                <TD class=3Dheader style=3D"BACKGROUND-COLOR: #fa6626" =
width=3D180=20
                height=3D18>TOOLS</TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/asp.htm">ASP=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4" noWrap=20
                height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/aspnet.htm">asp.NET=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/html.htm">HTML=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/javascripts.htm">JAVA=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm">PERL=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/php-scripts.htm">PHP=20
                  Scripts</A></TD></TR>
              <TR>
                <TD class=3Dgallerynav style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                  height=3D18><A=20
                  =
href=3D"http://www.generalhosting.com/scripts/wap-wml-scripts.htm">WML=20
                  Scripts</A></TD></TR></TBODY></TABLE>
            <P>&nbsp;<!--- End  Hosting subnav bar ---><!--- Begin  =
Hosting subnav bar ---></P></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D5=20
          border=3D0></TD>
          <TD width=3D2=20
            =
background=3Dhttp://www.generalhosting.com/htm/dotline.gif><IMG=20
            height=3D1 alt=3D"" =
src=3D"http://www.generalhosting.com/htm/spacer.gif"=20
            width=3D2 border=3D0></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D3=20
          border=3D0></TD>
          <TD vAlign=3Dtop><!--- =
-------------------------------------------------------------------------=
-----
Start of MainBody Section
-------------------------------------------------------------------------=
------ ---><!--- =
-------------------------------------------------------------------------=
-----
End of MainBody Section
-------------------------------------------------------------------------=
------ --->
            <TABLE style=3D"BORDER-COLLAPSE: collapse" =
borderColor=3D#111111=20
            cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
              <TBODY>
              <TR>
                <TD vAlign=3Dtop width=3D"77%"><FONT face=3D"Myriad =
Condensed Web"=20
                  color=3D#fa6626 size=3D5><A name=3D"ASP =
SCRIPTS"></A>Support Tools=20
                  </FONT><FONT face=3D"Myriad Condensed Web" =
color=3D#000000=20
                  size=3D5>PERL Scripts</FONT></TD>
                <TD align=3Dright width=3D"23%">&nbsp;</TD></TR>
              <TR>
                <TD vAlign=3Dtop width=3D"77%"><FONT face=3D"Myriad =
Condensed Web"=20
                  color=3D#ffffff size=3D1>.</FONT></TD>
                <TD align=3Dright =
width=3D"23%">&nbsp;</TD></TR></TBODY></TABLE>
            <TABLE cellSpacing=3D3 cellPadding=3D0 width=3D"100%" =
align=3Dcenter=20
            border=3D0>
              <TBODY>
              <TR>
                <TD class=3Dtan style=3D"BACKGROUND-COLOR: #ffcc39" =
align=3Dmiddle=20
                width=3D"50%" height=3D30>
                  <DIV align=3Dcenter>
                  <CENTER>
                  <TABLE style=3D"BORDER-COLLAPSE: collapse" =
borderColor=3D#111111=20
                  cellSpacing=3D0 cellPadding=3D0 width=3D"98%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD width=3D"100%"><SPAN=20
                        style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                        style=3D"FONT-SIZE: 9pt"><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Array"><FO=
NT=20
                        color=3D#993300>Array</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Associativ=
e"><FONT=20
                        color=3D#993300>Associative</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#CompareLis=
tsValues"><FONT=20
                        color=3D#993300>Compare Lists =
Values</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Condition"=
><FONT=20
                        color=3D#993300>Condition</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Control"><=
FONT=20
                        color=3D#993300>Control</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Crypt"><FO=
NT=20
                        color=3D#993300>Crypt</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#DateAndTim=
e"><FONT=20
                        color=3D#993300>Date And Time</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Datedaywee=
k"><FONT=20
                        color=3D#993300>Dateday week</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#DiskSpaceL=
inux"><FONT=20
                        color=3D#993300>Disk Space Linux</FONT></A><FONT =

                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#EmailValid=
ation"><FONT=20
                        color=3D#993300>Email Validation</FONT></A><FONT =

                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filedelete=
"><FONT=20
                        color=3D#993300>File delete</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filedir"><=
FONT=20
                        color=3D#993300>File dir</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#FileExist"=
><FONT=20
                        color=3D#993300>File Exist</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filegettim=
estamp"><FONT=20
                        color=3D#993300>File get time =
stamp</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filelock">=
<FONT=20
                        color=3D#993300>File lock</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filemulti"=
><FONT=20
                        color=3D#993300>File multi</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Fileread">=
<FONT=20
                        color=3D#993300>File read</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filerename=
"><FONT=20
                        color=3D#993300>File rename</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Fileselect=
"><FONT=20
                        color=3D#993300>File select</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Filesettim=
estamp"><FONT=20
                        color=3D#993300>File set time =
stamp</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Getenv"><F=
ONT=20
                        color=3D#993300>Getenv</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Genfirstel=
ement"><FONT=20
                        color=3D#993300>Gen first =
element</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Getos"><FO=
NT=20
                        color=3D#993300>Get OS</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Replace"><=
FONT=20
                        color=3D#993300>Replace tabs</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Setsetenv"=
><FONT=20
                        color=3D#993300>Set setenv</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Geturl"><F=
ONT=20
                        color=3D#993300>Get url</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Getuserinf=
o"><FONT=20
                        color=3D#993300>Get user info</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Getusernam=
e"><FONT=20
                        color=3D#993300>Get username</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#GoogleSear=
ch"><FONT=20
                        color=3D#993300>Google Search</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Hashdelete=
"><FONT=20
                        color=3D#993300>Hash delete</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Hashmerg">=
<FONT=20
                        color=3D#993300>Hash merg</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Hashsort">=
<FONT=20
                        color=3D#993300>Hash sort</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Hashtest">=
<FONT=20
                        color=3D#993300>Hash test</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Hashtraver=
sing"><FONT=20
                        color=3D#993300>Hash traversing</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#INCaddloca=
lpaths"><FONT=20
                        color=3D#993300>INC add local =
paths</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Io"><FONT =

                        color=3D#993300>Io</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Ioarg"><FO=
NT=20
                        color=3D#993300>Io arg</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Iokeyboard=
"><FONT=20
                        color=3D#993300>Io keyboard</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Iokeyboard=
ready"><FONT=20
                        color=3D#993300>Io keyboard =
ready</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Iopipe"><F=
ONT=20
                        color=3D#993300>Io pipe</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#List"><FON=
T=20
                        color=3D#993300>List</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#LoginVerif=
y"><FONT=20
                        color=3D#993300>Login Verify</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#lookupdoma=
in"><FONT=20
                        color=3D#993300>look up domain</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Mailsend">=
<FONT=20
                        color=3D#993300>Mail send</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#MergingHas=
hes"><FONT=20
                        color=3D#993300>Merging Hashes</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#MySQLCreat=
eTableIf"><FONT=20
                        color=3D#993300>MySQL Create Table =
If</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Numbitint"=
><FONT=20
                        color=3D#993300>Numb itint</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Numcomma">=
<FONT=20
                        color=3D#993300>Num comma</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Numlong"><=
FONT=20
                        color=3D#993300>Num long</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Numrandom"=
><FONT=20
                        color=3D#993300>Num random</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#PakageTemp=
late"><FONT=20
                        color=3D#993300>Package Template</FONT></A><FONT =

                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#printhtml"=
><FONT=20
                        color=3D#993300>print html</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Regularexp=
ressions"><FONT=20
                        color=3D#993300>Regular =
expressions</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Removeline=
end"><FONT=20
                        color=3D#993300>Remove line end</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Replace"><=
FONT=20
                        color=3D#993300>replace</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#RxIPAddres=
s"><FONT=20
                        color=3D#993300>RxIP Address</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SampleWebS=
endMailUnix"><FONT=20
                        color=3D#993300>Sample Web SendMail =
Unix</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SampleWebS=
endMailWindows"><FONT=20
                        color=3D#993300>Sample Web SendMail=20
                        Windows</FONT></A><FONT color=3D#993300> / =
</FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SaveFormRe=
sultInFile"><FONT=20
                        color=3D#993300>Save Form Result In =
File</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SaveInFile=
"><FONT=20
                        color=3D#993300>Save In File</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Scalar"><F=
ONT=20
                        color=3D#993300>Scalar</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ScriptPath=
"><FONT=20
                        color=3D#993300>Script Path</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Sendmailat=
tachment"><FONT=20
                        color=3D#993300>Sendmail =
attachment</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SessionGen=
erateID"><FONT=20
                        color=3D#993300>Session =
GenerateID</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#SessionRea=
dID"><FONT=20
                        color=3D#993300>Session ReadID</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Simple"><F=
ONT=20
                        color=3D#993300>Simple</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringcomm=
on"><FONT=20
                        color=3D#993300>String common</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringcoun=
t"><FONT=20
                        color=3D#993300>String count</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringjoin=
"><FONT=20
                        color=3D#993300>String join</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringlead=
"><FONT=20
                        color=3D#993300>Stringle ad</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringlead=
trail"><FONT=20
                        color=3D#993300>Stringle adtrail</FONT></A><FONT =

                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringpara=
"><FONT=20
                        color=3D#993300>String para</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringrepe=
at"><FONT=20
                        color=3D#993300>String repeat</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringtrai=
l"><FONT=20
                        color=3D#993300>String trail</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Stringuppe=
rcase"><FONT=20
                        color=3D#993300>String uppercase</FONT></A><FONT =

                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Sub"><FONT=
=20
                        color=3D#993300>Sub</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Un-Webify"=
><FONT=20
                        color=3D#993300>Un-Web ify</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Userenv"><=
FONT=20
                        color=3D#993300>User env</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Webclean">=
<FONT=20
                        color=3D#993300>Web clean</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Webencode"=
><FONT=20
                        color=3D#993300>Web encode</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#PostURL"><=
FONT=20
                        color=3D#993300>Post URL</FONT></A><FONT =
color=3D#993300> /=20
                        </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#PostURLBas=
icAuth"><FONT=20
                        color=3D#993300>Post URL Basic =
Auth</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#Clearscree=
n"><FONT=20
                        color=3D#993300>Clear screen</FONT></A><FONT=20
                        color=3D#993300> / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#FTPBackup"=
><FONT=20
                        color=3D#993300>FTP Backup</FONT></A><FONT =
color=3D#993300>=20
                        / </FONT><A=20
                        =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#DirRecursi=
veWindows"><FONT=20
                        color=3D#993300>Dir Recursive =
Windows</FONT></A><FONT=20
                        color=3D#993300> </FONT></FONT><SPAN=20
                        style=3D"FONT-SIZE: =
9pt"><BR>&nbsp;</SPAN></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>=

              <TR align=3Dmiddle>
                <TD class=3Dlight_cream style=3D"BACKGROUND-COLOR: =
#fffdd4"=20
                vAlign=3Dtop width=3D"50%">
                  <TABLE style=3D"BORDER-COLLAPSE: collapse" =
borderColor=3D#111111=20
                  cellSpacing=3D0 cellPadding=3D0 width=3D"97%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD width=3D"100%"><FONT style=3D"FONT-SIZE: 9pt"=20
                        color=3D#fffdd4>.</FONT></TD></TR>
                    <TR>
                      <TD width=3D"100%">
                        <DIV align=3Dcenter></DIV>
                        <DIV align=3Dcenter>
                        <DIV align=3Dcenter>
                        <CENTER>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"> <BR></SPAN><FONT =

                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DArray>Array</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DArray rows=3D4 cols=3D46>Arrays
Intro to Array
    An array is a named list.
    Array variable which is a list of scalars (ie numbers and strings).
    As with lists, its space is dynamically allocated and removed
    Array variables have the same format as scalar variables except that =
they are prefixed by an @ symbol.
    It is 0-indexed, and shares all the operators, and some new =
accessors


@ (at sign)=20
       Refers to the entire array or slice of an array (when used in =
conjuction with [ ]).  =20


$ (dollar sign)=20
       Refers to one element of the array, used in conjunction with [ ]


Some Array functions =09
push(@ARRAY,LIST) 	=09
		# add LIST to the end of @ARRAY=20

pop(@ARRAY) 		=09
		# remove and return the last element of @ARRAY

unshift(@ARRAY,LIST) =09
		# add LIST to the front of @ARRAY

shift(@ARRAY) 	=09
		# remove and return the first element of @ARRAY

scalar(@ARRAY) 	=09
		# return the number of elements in the array




@menu  =3D ("salad", "toast", "soup");  =20
Assigns a three element list to the array variable @menu  =20


@country =3D ("japan", "Argentina");  =20
Assigns a two element list to the array variable @country



@menu     =3D ("salad", "toast", "soup");

The array is accessed by using indices starting from 0, and square =
brackets are used to specify the index.
The expression $menu[2] returns soup.
Notice that the @ has changed to a $ because soup is a scalar.

The follwoing two statements are the same.  =20
@moremenu1 =3D ("salad", "toast", "soup", "icecream", "bread");
@moremenu2 =3D ( @menu,"icecream","bread");



But there is a better way of adding element to the array. See the =
folowing  =20
push(@menu, "bread", "icecream");
push(@menu, ("bread", "icecream"));
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DAssociative>Associative</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DAssociative rows=3D4 cols=3D46>=20
Associative Arrays / Hashes
=20
Associative arrays, are also called "hashes".
They are arrays that are indexed not on ordered integers, but on =
arbitrary string values.
generally, elements of an associative array are refered to as "key" and =
"value" pairs.
The "key" is used to find the element of the array that has the "value".


Basic operators are:  =20

% (percent sign)=20
This refers to the entire array  =20


{ } (braces) =20
This denotes the key  =20



$ (Dollar)=20
When this is used with { }, this is the value of the array element =
indexed on the key.  =20
	$school{"leader"}     =3D "Tim Grant";
	$school{"scout"}      =3D "Jack Hassel";
	$school{"president"}  =3D "Mike Shawn";
	@schoolposts          =3D keys(%school)
	@schoolnames          =3D values(%school)=20



Some Associative Array functions 	 =20

Keys(%ARRAY)	=09
	# Return a list of all the keys in %ARRAY. The list is "unordered" - it =
depends on the hash function used internally.=20

Values(%ARRAY)
	# Return a list of all the values in %ARRAY=20

Each(%ARRAY)
		# Each time this is called on an %ARRAY, it will return a 2 element =
list consisting of the next key/value pair in the array.=20

Delete($ARRAY{KEY})
	# remove the pair associated with KEY from ARRAY.


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DCompareListsValues>CompareListsValues</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DCompareListsValues rows=3D4 cols=3D46>sub compare_lists {	# =
compare two list values
	my(@a) =3D splice(@_,0,shift);
	my(@b) =3D splice(@_,0,shift);
	return 0 unless @a =3D=3D @b;	# same len?
	while (@a) {
	    return 0 if pop(@a) ne pop(@b);
	}
	return 1;
    }
    if (&amp;aeq($len,@foo[1..$len],0+@bar,@bar)) { ... } =20
=20
=20

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DCondition>Condition</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DCondition rows=3D4 cols=3D46>Conditionals
=20
To do comparisons on different values, perl provides two sets of =
conditionals
One for Numbers and one for strings.


Equality        eq       =3D=3D   =20

Inequality        ne       !=3D   =20

Greater than        gt       &gt;   =20

Greater than or equal to        ge       &gt;=3D   =20

Less than        lt      =20

Less than or equal to        le      =20

Comparison   returns -1,0,1s        cmp         =20




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DControl>Control</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DControl rows=3D4 cols=3D46>=20
Control Structures in Perl
=20
foreach
Perl uses the foreach structure to go through each line of an array or =
other list-like structure  =20
foreach $item (@music)
{
	print "$item\n";
}


for
First it initializes the value of $i. Then it executes the statements in =
the block while the condition is true.   =20
for ($i =3D 0; $i=20
{
	print "$i\n";
}


while
It stays in the block till the condition is satisfied
#!/usr/local/bin/perl
print "Password? ";		# Ask for input
$a =3D ;				# Get input
chop $a;			# Remove the newline at end
while ($a ne "xanadu")		# While input is wrong...
{
print "Sorry. Wrong password. try Again? ";
$a =3D ;			# Get input again
chop $a;			# Chop off newline again
}



To test the opposite use until=20
Another way of doing the same
Another useful technique is putting the while or until check at the end =
of the statement block
rather than at the beginning.
This will require the presence of the do operator to mark the beginning =
of the block and the test at the end.  =20

#!/usr/local/bin/perl
do
{
	"Enter Password : ";	# Ask for input
	$a =3D ;			# Get input
	chop $a;			# Chop off newline
}
while ($a ne "xanadu")		# Redo while wrong input



if else=20
if ($x)
{
	print "variable x is not empty\n";
}
else
{
	print "variable x is empty\n";
}




It is also possible to include more alternatives in a conditional =
statement:  =20
if (!$x)			# The ! is the not operator
{
	print "variable x is empty\n";
}
elsif (length($x) =3D=3D 1)=09
{
	print "variable x has one character\n";
}
elsif (length($x) =3D=3D 2)
{
	print "variable x has two characters\n";
}
else
{
	print "variable x has lots of characters\n";
}




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DCrypt>Crypt</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DCrypt rows=3D4 cols=3D46># how to use   crypt=20

    if ( crypt ($user_passwd, $stored_pw) eq $stored_pw) {
	return 1;
    }</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DDateAndTime>DateAndTime</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DDateAndTime rows=3D4 cols=3D46>An usefull function to format the =
date and time

use Time::localtime;
$| =3D 1;
sub now {
$tm =3D localtime;
($smin, $shour, $sday, $smon, $syear) =3D ($tm-&gt;min, $tm-&gt;hour, =
$tm-&gt;mday, $tm-&gt;mon, $tm-&gt;year);
$f =3D sprintf ("%02d/%02d/%04d    %02d:%02d\n",  $smon+1, $sday, =
$syear+1900,   $shour+4, $smin);
return $f;
}

$g =3D &amp;now;
print $g;



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DDatedayweek>Datedayweek</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DDatedayweek rows=3D4 cols=3D46>Day and week of the year
How to find the day and week of the year ?

The day of the year is in the array returned by localtime() (see =
localtime):=20
$day_of_year =3D (localtime(time()))[7];
use Time::localtime;
$day_of_year =3D localtime(time())-&gt;yday;=20


You can find the week of the year by dividing this by 7:=20
$week_of_year =3D int($day_of_year / 7);


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DDiskSpaceLinux>DiskSpaceLinux</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DDiskSpaceLinux rows=3D4 cols=3D46># disk_space(device)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
`df -k $_[0]` =3D~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/ || return ();
return ($1, $2);
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DEmailValidation>EmailValidation</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DEmailValidation rows=3D4 cols=3D46># Matching a valid e-mail =
address[ A-z 0-9 and -,.,_,@ ] - no blank spaces
# Allow IP addresses to included into the e-mail address
# check_email_address ( $e-mail )
sub check_email_address {
    $email =3D $_[0];

    # If the e-mail address contains:
    if ( $email =3D~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/
      || $email !~ =
/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/ )
    {
        return 0;
    }

    else {

        # Return a true value, e-mail verification passed.
        return 1;
    }
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFiledelete>Filedelete</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFiledelete rows=3D4 cols=3D46>Delete a file
=20
How to delete a file
This deletes a single file
$myfile =3D"sample.txt";
unlink $myfile;
 OR
rename($myfile, $yourfile) || die "can't rename: $!\n";


This deletes a whole set of files
@filelist =3D ("myfile1.txt","myfile2.txt","myfile3.txt");
unlink @filelist;


Another approach could be

system("rm $file");
system("mv $file1 $file2");


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFiledir>Filedir</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFiledir rows=3D4 cols=3D46>Read/List Contents of a Directory
How to list contents of a directory
The follwing reads the contents of directory "/home/jack/prog/"
#!/usr/bin/perl -w
$mydir =3D "/home/jack/prog/";
opendir(DIR, "$mydir");
@allfiles =3D readdir(DIR);
closedir(DIR);

Now print the directory contents stored in the array=20
foreach $file (@allfiles) {
print "$file\n";
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFileExist>FileExist</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFileExist rows=3D4 cols=3D46># check if the file exist.

sub FileExist {
    my $file_path =3D $_;
    if (!-e "$file_path") {
	return 0;
    } else {
         return 1;
    }
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFilegettimestamp>Filegettimestamp</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFilegettimestamp rows=3D4 cols=3D46>Get file timestamp
=20
How to GET the file's timestamp

#!/usr/local/bin/perl

To retrieve the time in seconds since the epoch, you would call the stat =
function,
And then use localtime(), gmtime(), or POSIX::strftime()=20
to convert this into human-readable form.    =20

$time_secs =3D (stat($myfile))[9];
printf " %s was updated at %s\n", $myfile,
scalar localtime($time_secs);

Or use the File::stat module
(part of the standard distribution in version 5.004 and later):=20

use File::stat;
use Time::localtime;
$date_string =3D ctime(stat($myfile)-&gt;mtime);
print "$myfile was updated at $date_string\n";



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFilelock>Filelock</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFilelock rows=3D4 cols=3D46>Lock and Unlock a file
How to LOCK and UNLOCK files

Before that ...why do we need to lock a file that we are writing ?=20
Note that working with CGI programs,
there might be others executing the same program and
each trying to get a hold on the file for reading/updating.=20
It could lead to disasterous ends.=20
To lock a file, use the flock() command.
The flock() command takes two parameters -
the type of locking you wish to do,
and the FILEHANDLE you wish to lock.=20

flock(FILEHANDLE, 2) or die "Cannot LOCK the file : $!";=20

and to Unlock use=20

flock(FILEHANDLE, 8) or die "Cannot UNLOCK file: $!";



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFilemulti>Filemulti</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFilemulti rows=3D4 cols=3D46>Write to multiple files
=20
How to write to more than one file at a time

A simple way would be=20
#!/usr/local/bin/perl
for $fh (MYFILE1, MYFILE2, MYFILE3)
{
print $fh "whatever\n"
}

Using the tee function for conecting one filehandle to several output =
filehandles.
open (FH, "| tee MYFILE1 MYFILE2 MYFILE3");

Or another approach would be :
# make STDOUT go to three files, plus original STDOUT
open (STDOUT, "| tee MYFILE1 MYFILE2 MYFILE3") or die "Seeing Error    : =
$!\n";
print "whatever\n" or die "Error in Writing: $!\n";
close(STDOUT)    or die "Error in Closing: $!\n";

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFileread>Fileread</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFileread rows=3D4 cols=3D46>=20
Read from a file
=20
How to read contents of a file ?

A simple way is=20
open (MYFILE, "myfile.txt") || die "Couldn't open the file!";
while (&lt;MYFILE&gt;) {
	print $_;
}
close(MYFILE);=20


Another Way :
open (MYFILE, "myfile.txt") || die "Couldn't open the file!";
@filecontent =3D ; # read in the contents of the file
foreach $myline (@filecontent) {
print " $myline \n";
}



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFilerename>Filerename</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFilerename rows=3D4 cols=3D46>=20
Rename a file
How to rename a file

#!/usr/local/bin/perl
Usually use Perl's rename() function.
rename($old, $new)     =20

Note :  But as it might not work everywhere, like, renaming files across =
file systems.=20
system("mv", $old, $new);



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFileselect>Fileselect</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFileselect rows=3D4 cols=3D46>=20
Select only .html files
=20
How to read only .html files in a directory
Reading only the .html files from a directory=20
#!/usr/bin/perl -w
$mydir =3D "/home/jack/prog";
opendir(DIR, "$mydir");
@files =3D grep(/\.html$/,readdir(DIR));
closedir(DIR);


Now print the files that have been selected and stored in the array
foreach $file (@files) {
print "$file\n";
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFilesettimestamp>Filesettimestamp</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFilesettimestamp rows=3D4 cols=3D46>=20
Set file timestamp
=20
How to SET the file's timestamp

#!/usr/local/bin/perl

Using the utime() function documented in utime.
The following program copies the read and write times from its first =
argument to all the rest of them.=20

if (@ARGV=20
die "Usage: cptimes timestamp_file other_files ...\n";
}

$timestamp =3D shift;
($atime, $mtime) =3D (stat($timestamp))[8,9];
utime $atime, $mtime, @ARGV;

Note that utime() currently doesn't work correctly with Win95/NT ports.
A bug has been reported.
Check it carefully before using it on those platforms.



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGetenv>Getenv</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGetenv rows=3D4 cols=3D46>=20
Print all the environment variables
=20
How to print all the environment variables

This prints all the evironment variables
#!/usr/local/bin/perl
foreach (sort keys %ENV) {
print "$_ =3D $ENV{$_}\n";
}



The following prints all the evironment variables and their values
#!/usr/local/bin/perl
print "\n";
foreach $key (sort keys(%ENV)) {
print "$key =3D $ENV{$key}";
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGenfirstelement>Genfirstelement</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGenfirstelement rows=3D4 cols=3D46>=20
Get first element of the Array
How to check the first arrray element for a true condition?

You can use this if you care about the index =20
for ($i=3D0; $i=20
if ($array[$i] eq "jack") {
$req_element =3D $i;
last;
}
}

# $req_element has the desired element
print " $req_element \n";



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGetos>Getos</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGetos rows=3D4 cols=3D46>=20
Operating System (OS) of the User
=20
Which Operating System is Perl running on  ?

Use the $^O variable

OR=20

$OSNAME if you use English
It contains the operating system that your perl binary was built for.


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DReplacetabs>Replacetabs</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DReplacetabs rows=3D4 cols=3D46>=20
Replace TABS with Commas
=20
How to replace TABS as commas in Perl?

The following is a command line utility in perl to replace the TABS in a =
file to commas
perl -pi.bak -e 's/\t/,/g' myfile.txt=20
Invoke perl from the Unix (or DOS) command-line to edit the file =
myfile.txt
This command edits the target file , and makes a backup file named =
myfile.txt.bak (just for contingency, in case of error).
And the updated myfile.txt contains the changes.



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSetsetenv>Setsetenv</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSetsetenv rows=3D4 cols=3D46>=20
Set Environent Variables=20
=20
How to set the environment variables in Perl?


As %ENV is a hash, you can set environment variables
like any other value of any Perl hash variable.


Following is the code to make sure that the following four directories =
are in your path::=20
$ENV{'PATH'} =3D '/bin:/usr/bin:/usr/local/bin:/home/jack/prog';=20


In order to access an executable from another perl program we might =
require to have the directory in the path
Just to confirm run the following script:=20
#!/usr/bin/perl
$ENV{'PATH'} =3D '/bin:/usr/bin:/home/jack/prog';
print $ENV{'PATH'};=20




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGeturl>Geturl</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGeturl rows=3D4 cols=3D46>=20
Read contents of a URL
=20
How to read contents from a URL   ?

This is  as simple program that reads the content in the url =
www.mysite.com.
This makes use of the LWP::Simple

use LWP::Simple;
$url =3D get 'http://www.mysite.com/';
print $url;


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGetuserinfo>Getuserinfo</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGetuserinfo rows=3D4 cols=3D46>=3DINFO+
=20
User Information
=20
=3DEND
=3DSOURCE+
=20





How to get the user information in HTTP  ?

The user informations can be retrieved from the browser environment =
variables

print " Browser was " . $ENV{'HTTP_USER_AGENT'} . ";
print " They came from " . $ENV{'HTTP_REFERER'} . ";
print " The remote address was " . $ENV{'REMOTE_ADDR'} . ";
print " The remote host was " . $ENV{'REMOTE_HOST'} . ";




=20
=3DEND
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGetusername>Getusername</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGetusername rows=3D4 cols=3D46>Get User Name from Login Info
=20
How to print the username from login info ?

This can be done by getting the value from the environment variable

#!/usr/bin/perl
$userName =3D $ENV{'LOGNAME'};
print "Hello, $userName\n";



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DGoogleSearch>GoogleSearch</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DGoogleSearch rows=3D4 cols=3D46>use SOAP::Lite;

# The key obtained from Google registration
my $key=3D'PpQFHLCz4GYYmZRR0OGfYw+Gkv7';

my $query=3D'asp script generalhosting.com';

# Download from Google.com   -&gt;  GoogleSearch.wsdl
my $googleSearch =3D SOAP::Lite -&gt; service("file:GoogleSearch.wsdl");

my $result =3D $googleSearch -&gt; doGoogleSearch($key, $query, 0, 10, =
"false", "", "false", "", "latin1", "latin1");


print "Content-type: text/html\n\n";
print "About $result-&gt;{'estimatedTotalResultsCount'} results.\n";

if(defined($result-&gt;{resultElements})) {

foreach my $entry (@{$result-&gt;{'resultElements'}}) {=20
	print =
"&lt;p&gt;$entry-&gt;{title}&lt;br&gt;$entry-&gt;{URL}&lt;br&gt;&lt;br&gt=
;";=20
}=20


}</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DHashdelete>Hashdelete</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DHashdelete rows=3D4 cols=3D46>Deleting from a Hash


delete($HASH{$KEY});


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DHashmerg>Hashmerg</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DHashmerg rows=3D4 cols=3D46>Merging  Hashes


%merged =3D (%A, %B);


or =20



%merged =3D ();
while ( ($k, $v) =3D each(%A) )  {
   $merged{$k} =3D $v;
}

while ( ($k, $v) =3D each (%B) )  {
   $merged{$k} =3D $v;
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DHashsort>Hashsort</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DHashsort rows=3D4 cols=3D46>Sorting a Hash

@keys =3D sort { criterion() }  (keys %hash);


or



foreach $key (sort { criterion() } (keys(%myHash))) {
       print "$myHash{$key}\n"
}

or



foreach $key (sort (keys(%myHash))) {
       print "$myHash{$key}\n"
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DHashtest>Hashtest</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DHashtest rows=3D4 cols=3D46>Testing for the Presence of a Key in =
a hash

if (exist($HASH{$KEY})) {
    #it exists
} else {
    # it does not exists
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DHashtraversing>Hashtraversing</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DHashtraversing rows=3D4 cols=3D46>Traversing a Hash

while (($key, $value) =3D each(%HASH)) {
    # do something with $key and $value

}



foreach $key (keys  %HASH)  {
   $value =3D $HASH{$key};
   # do something with $key and $value

}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DINCaddlocalpaths>INCaddlocalpaths</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DINCaddlocalpaths rows=3D4 cols=3D46>How to add local paths to =
@INC  array:

$start_path =3D 'module-dir
$lib_path =3D "$start_path/lib";

@local_paths =3D ($start_path, $lib_path);

push (@INC, @local_paths);

require SomeLocalModule_From_Local_Lib_Dir;</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              name=3DIo>Io</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DIo rows=3D4 cols=3D46>IO
How to Check if input is ready on the keyboard ?
How to read from a PIPE
How to take command line arguments
How to read input from the keyboard ?

How to check if input is ready on the keyboard ?
A simple way to do it would be to use the Term::ReadKey
module from CPAN
Passing it an argument of -1 to indicate not to block:=20

use Term::ReadKey;
ReadMode('cbreak');
if (defined ($char =3D ReadKey(-1)) ) {
# input was waiting and it was $char
} else {
# no input was waiting
}
ReadMode('normal');     # restore normal tty settings




How to read from a PIPE?
The value of date is passed to the PIPE=20

open(DATE, "date|");
$theDate =3D ;
close(DATE);



How to take command line arguments ?
$totArgs =3D $#ARGV + 1;
print "I received the following $totArgs command-line arguments.\n";
foreach $myarg (0 .. $#ARGV) {
print "$ARGV[$myarg]\n";
}

$totAtgs : contains the total number of arguments passed
$ARGV[$myarg] : would contain the value of the argument


How to read   input from keyboard ?
This is a simple program to read input from the keyboard=20

#!/usr/local/bin/perl
$line =3D ;
print STDOUT $line;



A little modificaton to the above to make it more useful=20
Prompt the user for input by using a print statement
followed immediately by a read


 #!/usr/local/bin/perl

print "What is your name ?";
$line =3D &lt;&gt;;                  # To read a line from the keyboard.
chop $line;                  # To Get rid of the Return character.
print "You are $line .\n";
exit;



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DIoarg>Ioarg</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DIoarg rows=3D4 cols=3D46>Read from Command Line
=20
How to take command line arguments ?
$totArgs =3D $#ARGV + 1;
print "I received the following $totArgs command-line arguments.\n";
foreach $myarg (0 .. $#ARGV) {
print "$ARGV[$myarg]\n";
}


$totAtgs : contains the total number of arguments passed
$ARGV[$myarg] : would contain the value of the argument




Another approach for the same would be

# define a small subroutine called print_helpexit
# when theres no arguments or -h is an argument

print_helpexit() if ( @ARGV &amp;&amp; $ARGV[0] eq '-h' );
if ( -f $ARGV[0] ) {
die "File $ARGV[0] exists already! Won't overwrite!\n";
}
Here is a program that prints all arguments passed to it.
#!/usr/bin/perl
use strict;
my $arg;
foreach (@ARGV) {
$arg++;
print "Argument $arg: $_\n";
}



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DIokeyboard>Iokeyboard</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DIokeyboard rows=3D4 cols=3D46>Read from Keyboard
=20
How to read  input from keyboard ?
This is a simple program to read input from the keyboard=20
#!/usr/local/bin/perl

$line =3D ;
print STDOUT $line;


This will read one line of input from the "standard input"
And write that line to the "standard output" which would be the screen
Note that both "STDIN" and "STDOUT" are optional in this context.


A little modificaton to the above to make it more useful=20
Prompt the user for input by using a print statement followed =
immediately by a read


#!/usr/local/bin/perl

print "What is your name ?";
$line =3D ;            # To read a line from the keyboard.
chop $line;            # To Get rid of the Return character.
print "You are $line .\n";
exit;

The above code will write the prompt string to the screen
Then wait for the user to give the input and  press the Return key/Enter =
Button



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DIokeyboardready>Iokeyboardready</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DIokeyboardready rows=3D4 cols=3D46>Check for input at keyboard
=20
How to check if input is ready on the keyboard ?
A simple way to do it would be to use the Term::ReadKey module from CPAN
Passing it an argument of -1 to indicate not to block:=20
use Term::ReadKey;
ReadMode('cbreak');
if (defined ($char =3D ReadKey(-1)) ) {
# input was waiting and it was $char
} else {
# no input was waiting
}
ReadMode('normal');    # restore normal tty settings



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DIopipe>Iopipe</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DIopipe rows=3D4 cols=3D46>=20
Read from IO Pipe
=20
How to read from a PIPE?
The value of date is passed to the PIPE=20
open(DATE, "date|");
$theDate =3D ;
close(DATE);



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DList>List</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DList rows=3D4 cols=3D46>=20
Lists in Perl
=20
Intro to List
A list is an ordered collection of scalars.
Space for lists are dynamically allocated and removed from the program's =
memory.
Each element can be addressed by its integer position in the list.
Lists are 0-indexed; the first element is called "0".

Typical operators include   =20

( ) (parenthesis)=20
Is the list constructor.   =20


, (comma)=20
The comma is used to separate elements of the list.   =20


[ ] (brackets)=20
The brackets are used to take slices of the list.




Here are some list functions =09
sort(LIST)		# return a new list, the sorted from LIST
reverse(LIST)		# return a new list, the reverse of LIST
join(EXPR,LIST)		# return a string formed by concatenating each element =
of LIST joined by EXPR
split(PATTERN,EXPR)	# return a list formed from each substring of EXPR =
bordered by PATTERN.=20



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DLoginVerify>LoginVerify</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DLoginVerify rows=3D4 cols=3D46>sub Verify_login {

    if (!($user_ID &amp;&amp; $user_passwd)) {
	return 2;
    }

    if (!-e "$db_path/$user_ID/pass") {
	return 3;
    }

    # This guy exists, lets check the password.
    open (PASSWORD,"&lt;$db_path/$user_ID/pass");
    my $stored_pw =3D &lt;PASSWORD&gt;;
    close PASSWORD;

    if (crypt($user_passwd,$stored_pw) ne $stored_pw) {
	return 4;
    }
   =20
    return 1;

}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3Dlookupdomain>lookupdomain</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3Dlookupdomain rows=3D4 cols=3D46># Lookup domain name. Return the =
current IP of the domain
# look_up ( $domain );
sub look_up {
    local $domain =3D $_[0];
    use Net::hostent;
    use Socket;

    unless ( $h =3D gethost($domain) ) {
        return "0";
        next;
    }
    if ( @{ $h-&gt;addr_list } &gt; 0 ) {
        return inet_ntoa( $h-&gt;addr );
    }
    else { return "0" }
}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DMailsend>Mailsend</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DMailsend rows=3D4 cols=3D46>Send E Mail
=20
How to send Mail in Perl ?

Sending e-mail from a Perl/CGI program on a Unix computer system is =
quite easy.
This is done by invoking the Unix sendmail program

$toAdd   =3D "you@yourdomain.com";
$fromAdd =3D "me@mydomain.com";
$subject =3D "Hey There !";
open(MAIL, "|/usr/lib/sendmail -t");

print MAIL "To: $toAdd\n";
print MAIL "From: $myAdd\n";
print MAIL "Subject: $subject\n";

print MAIL "This is the message body.\n";
print MAIL "Put your message here in the body.\n";
close (MAIL);


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DMergingHashes>MergingHashes</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DMergingHashes rows=3D4 cols=3D46>	%merged =3D ();
	while (( $k, $v ) =3D each (%A) ) {
		$merged{$k} =3D $v;
	}
	while (( $k, $v ) =3D each (%B) ) {
		$merged{$k} =3D $v;
	}</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DMySQLCreateTableIf>MySQLCreateTableIf</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DMySQLCreateTableIf rows=3D4 cols=3D46>#!/usr/bin/perl

use DBI;
use Getopt::Long;

$VER =3D "1.5";

$opt_db =3D "test";
$opt_table =3D "mails";
$opt_max_mail_size =3D 65536;
$opt_db_engine =3D "mysql";
$opt_host =3D "localhost";
$opt_user =3D $opt_password =3D "";
$opt_help =3D $opt_version =3D 0;



$dbh =3D =
DBI-&gt;connect("DBI:$opt_db_engine:$opt_db:$opt_host",$opt_user,
		    $opt_password,{ PrintError =3D&gt; 0}) || die $DBI::errstr;



create_table_if_needed($dbh);





sub create_table_if_needed
{
  my ($dbh)=3D@_;
  my ($sth,$create);
 =20
  $sth =3D $dbh-&gt;prepare("select count(*) from $opt_table") or die =
$dbh-&gt;errstr;
  if (!$sth-&gt;execute)
  {
    $create =3D "CREATE TABLE $opt_table (msg_nro mediumint unsigned not =
null ";
    $create .=3D "auto_increment, date DATETIME NOT NULL, time_zone =
CHAR(6) ";
    $create .=3D "NOT NULL, mail_from char(120) not null, reply =
char(120), ";
    $create .=3D "mail_to TEXT, cc TEXT, sbj char(200), txt MEDIUMTEXT =
NOT ";
    $create .=3D "NULL, file char(32) noT NULL, hash INT NOT NULL, key =
";
    $create .=3D "(msg_nro), primary key (mail_from, date, time_zone, =
hash))";
    $sth =3D $dbh-&gt;prepare($create) or die $dbh-&gt;errstr;
    $sth-&gt;execute() or die $dbh-&gt;errstr;
  } =20
}

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DNumbitint>Numbitint</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DNumbitint rows=3D4 cols=3D46>=20
Convert bit to int
=20
How to convert bits to int ?


To turn a string of 1s and 0s like 10110110 into a scalar containing its =
binary value, use the pack() function
$decimal =3D pack('B8', '10110110');=20

Here's an example of going the other way:=20
$binary_string =3D join('', unpack('B*', "\x29"));




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DNumcomma>Numcomma</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DNumcomma rows=3D4 cols=3D46>=20
Format number by adding commas
=20
How to format a number by adding commas ?

#!/usr/local/bin/perl
# Write a small sub routine to do the same
sub comma_me {
local $_  =3D shift;
1 while s/^(-?\d+)(\d{3})/$1,$2/;
return $_;
}

$mynum =3D 45674232454.5487;
print "After formatting : ", comma_me($mynum), "\n";

After formatting : 45,674,232,454.5487



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DNumlong>Numlong</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DNumlong rows=3D4 cols=3D46>=20
Format Long Decimals
=20
How to get rid of long decimal numbers?
Say you need to get rid of long decimals (eg, 3.1415926535) and get just =
3.142=20
printf("%.3f", 3.1415926535); # prints 3.142=20


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DNumrandom>Numrandom</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DNumrandom rows=3D4 cols=3D46>=20
Random Numbers
=20
How to generate a random number?

Use the rand() function
# declare at the top of the program:=20

srand;=20

# not required for 5.004 and later on=20
$rand_no =3D rand @array;
$element =3D $array[$rand_no];


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DPakageTemplate>PakageTemplate</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DPakageTemplate rows=3D4 cols=3D46>package ManageOrders;
require 5.000;
require Exporter;

use strict;

our $VERSION =3D '1.02';
our @ISA =3D qw(Exporter);
our @EXPORT =3D qw(save_order next_sub);

=3Dhead1 NAME

ManageOrders, Manage Orders Files.

=3Dhead1 SYNOPSIS

    use ManageOrders;
    save_order($sc_send_order_to_log, $sc_order_path, =
$sc_order_log_path, $text_of_cart, $amount);

=3Dhead1 DESCRIPTION

Here go the desciption.

=3Dcut

use Time::localtime;

sub save_order {
	#The Input Varialbles:
    my($sc_send_order_to_log, $sc_order_path, $sc_order_log_path, =
$text_of_cart, $amount) =3D @_;

	#Local variables
    my($tm, $item, $f, $one_line_data, $ssec, $smin, $shour, $sday, =
$smon, $syear);

	#The Sub code


}

sub next_sub {


}

1;</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3Dprinthtml>printhtml</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3Dprinthtml rows=3D4 cols=3D46>print &lt;&lt;EOP;

&lt;FORM METHOD=3D"POST" ACTION=3D"some.cgi"  NAME=3D"Form1"&gt;
&lt;table border=3D0 width=3D'100%'&gt;

&lt;tr&gt;&lt;td align=3D'center'&gt;&lt;h1&gt;Some =
Text&lt;/h1&gt;&lt;/td&gt;&lt;/tr&gt;

$sometext

&lt;tr&gt;
&lt;td align=3D'center'&gt;Here&lt;/td&gt;
&lt;/tr&gt;

&lt;INPUT TYPE=3D"submit" NAME=3D"GOTO" VALUE=3D"Login"&gt;

&lt;/table&gt;

&lt;INPUT TYPE=3D'hidden' NAME=3D'submitted' VALUE=3D'1'&gt;
&lt;INPUT TYPE=3D'hidden' NAME=3D'paramiter' VALUE=3D'$parameter'&gt;
&lt;INPUT TYPE=3D'hidden' NAME=3D'submitted' VALUE=3D'1'&gt;
&lt;/FORM&gt;


EOP
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DRegularexpressions>Regularexpressions</A>=20
                              </SPAN><BR></FONT><SPAN =
style=3D"FONT-SIZE: 9pt"><TEXTAREA name=3DRegularexpressions rows=3D4 =
cols=3D46>=20
Regular Expressions in Perl
Some Basics before you begin


There are three main uses for regular expressions in Perl
    Matching
    Substitution
    Translation.



Perl's Regular Expression Operators=20

m/PATTERN/=20
# This operator returns true if  PATTERN is found in $_. =20
s/PATTERN/REPLACEMENT/=20
# This operator replaces the sub- string matched by PATTERN  with =
REPLACEMENT. =20
tr/CHARACTERS/REPLACEMENTS/=20
# This operator replaces characters specified by CHARACTERS with the =
characters in REPLACEMENTS.




 =20

Did you know, it could be done more neatly ?
Every regular expression operator allows the use of alternative pattern =
delimiters.
A delimiter marks the beginning and end of a given pattern.
Like for example in the following ,

   m//;
   The standard delimiters are the slashes (//). But not necessarily. =
You could use any.
This is particularly useful when the string you are matching too has a =
'/' and it could make it look difficult to decipher.
   m/\/home\/jack\/myfile.txt/
   This becomes hard to read coz' of all the slashes. ANother way would =
be to use.
   m!/home/jack/myfile.txt!
   OR
   m{/home/jack/myfile.txt}





 =20
Points to remember While using the Regular Expressions
# Always  comment what are doing
# How you are approaching the issue. remeber there are usually multiple =
ways of doing something.
# proper Commneting always helps you and others


Some quick references=20
[] match a class of single characters
[^ ] not in list
{} allow precise specification of repeated fields.


[0123456789] match any single digit
[0-9] match any single digit
[0-9]+ match any sequence of one or more digits
[a-z]+ matches any lowercase word
[A-Z]+ matches any uppercase word
[ab n]* matches the null string "", "b", any number of blanks , " nab a =
banana"
[^0-9] matches any non-digit charactor
[0-9] {5} matches any sequence of 5 digits
[0-9] {5,9} matches any sequence of 6 to 10 digits.


The patterns can occur anywhere in an input unless anchored.
^ (outside of []) matches at the beginning
$ matches at the end
/at/ matches at attention flat
/^at/ matches at attention but not flat
/at$/ matches at flat but not attention
/^at$/ matches at and that is all
/^at$/i matches at At aT


/^[ \t]*$ matches a "Blank line", or any combination of blanks and tabs


\ is the escape charactor, it allows metachar to be used as literals


Some special escape sequences
\t tabs
\n newline
\r carriage return
\f form feed
\d is the same as [0-9]
\s white space [\t\n\r\f]


The Binding Operators (=3D~ and !~) =20
The match, substitute and translation operations work on the $_ variable =
by default.
But if the string in context is in another variable, then the binding =
operators come in very handy
They let you bind the regular expression operators to a variable other =
than $_.=20
There are two forms of the binding operator: the regular  =3D~ and its =
complement !~. =20



   The Usage of the =3D~ operator:
$mystring     =3D "Have a good day";
$match        =3D $mystring =3D~ m/good/;
$substitution =3D $mystring =3D~ s/good/great/;
$translate    =3D $mystring =3D~ tr/d/D/;


print("\$match        =3D $match\n");
print("\$substitution =3D $substitution\n");
print("\$translate    =3D $translate\n");
print("\$mystring     =3D $mystring\n");=20


This program displays the following:
$match        =3D 1
$substitution =3D 1
$translate    =3D 2
$mystring     =3D Have a great Day


In the above example we get the return values too. Now using all the =
three, if we do not need the return values then use the following=20

$mystring =3D "have a good day";
print("have a good day\n") if $mystring =3D~ m/good/;
$mystring =3D~ s/good/great/;
$mystring =3D~ tr/d/D/;
print("\$mystring =3D $mystring\n");=20
The output now would be as following

String has root.=20
$mystring =3D have a great Day



HTML-codified characters (the % codes) into their ASCII equivalents =20
s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

The above could further be modified to by using the curley braces =
character quantifier {2} and the case insensitivity switch i.=20

s/%([a-f0-9]{2})/pack("C", hex($1))/egi;



The {2} performs the same function as the + and *,
but instead of specifying "one or more" or "any number," it specifies =
"exactly two."
You can also specify ranges. For example: "one or two" is represented as =
{1,2} and "five to ten" as {5,10}.


Another beauty of perl :=20
The key to the good stuff of Perl's regular expressions is the =
parenthesis used for subexpressions, the ([a-f0-9]{2}) in above example.
What matches the subexpression is held in a automatic temporary =
variable, $1, here.
If there were more than one subexpression, they would be held in $2, $3, =
and so on.
(By the way, the entire matched expression is held in $0.)



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DRemovelineend>Removelineend</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DRemovelineend rows=3D4 cols=3D46>        =
s/\r|\n//g;</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DReplace>Replace</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DReplace rows=3D4 cols=3D46>#!/usr/bin/perl
#
# perl script to recursively replace multiple strings in multiple files.
#
# written by Rainer Hillebrand
# (rainer.hillebrand@muenster.de, http://www.muenster.de/~hillebra/)
#
# It is being placed in the public domain. It may be
# used for commercial use only by prior arrangement with
# the author.  It may not in any circumstances be resold to
# another party.  You are free to make non-commercial use of
# the ideas and algorithms that this code represents as long
# as you do not merely re-phrase it or port it to another
# language.  If you use any of the code from this program in
# another program, that resulting program must be placed
# under the GNU Copyleft or similar agreement and source code
# from that program must be made available to all who want it.
#
#
# Version 0.82,  14/03/2003
#  minor bug
#
# Version 0.81,  12/03/2003
#  lines in the pattern file without the pattern separator #%# are =
ignored
#
# Version 0.8,  07/03/2003
#  some minor changes for efficiency,
#  overwrites the files only if changes have been made
#
# Version 0.7,  27/02/2003
#  some documentation added
#
# Version 0.6
#  customize if only the first occurrence and white spaces shall be =
replaced
#
# Version 0.5
#  removes also leading spaces
#
# Version 0.4,  12/02/2000
#  replaces only ASCII files
#
# Version 0.3,  30/07/1999
#
# Version 0.2,  15/03/1999
#
# Version 0.1,  15/01/1999
#  first rough version
#
# usage:   perl replace.pl &lt;directory&gt; &lt;pattern_file&gt;
# example: perl replace.pl /work/rh/html /temp/pattern.txt
#
# &lt;directory&gt; is the source of the directory tree
# &lt;pattern_file&gt; is the file containing the patterns to be be =
replaced.
#    The pattern #%# separates the old string and the new string.
#    An example in one file:
#
#      oldpattern#%#newpattern
#      second_oldpattern#%#second_newpattern
#

# Shall all occurences of the pattern be replaced? If yes, then set the =
following
# variable to 1.
$replaceall =3D 1;

# Shall all leading whitespaces be replaced? If yes, then set the =
following
# variable to 1.
$replacespace =3D 1;

#----------There is nothing to change for you below this line------
$directory =3D $ARGV[0];
$patternfile =3D $ARGV[1];


if (($directory || $patternfile) eq '') {
die("usage: perl replace.pl &lt;directory&gt; &lt;pattern_file&gt;\n")
}

&amp;readpatternfile;

&amp;scan_files($directory);

&amp;replacepattern;

#------------------------------------------------------------------------=
--
sub  readpatternfile {
@patterns =3D ();
if (-f $patternfile) {
open(PATTERN,"&lt;$patternfile") || return;
while ($line =3D &lt;PATTERN&gt;) {
chomp $line;
if ($line =3D~ /\Q#%#\E/) {
push (@patterns, $line);
}
}
close (PATTERN);
}
}
#------------------------------------------------------------------------=
--
sub  scan_files {
my ($scandir) =3D shift;
my (@scandirs,@files,$newdir,$list);
opendir(DIR,$scandir) || warn "can't opendir $scandir: $!\n";
@scandirs =3D grep {!(/^\./) &amp;&amp; -d "$scandir/$_"} readdir(DIR);
rewinddir(DIR);
@files =3D grep {!(/^\./) &amp;&amp; -T "$scandir/$_"} readdir(DIR); # =
ignores hidden UNIX-like files like .htaccess
closedir (DIR);
for $list(0..$#scandirs) {
$newdir =3D "$scandir/$scandirs[$list]";
&amp;scan_files ($newdir); # scans recursively
}
for $list(0..$#files) {
if (-z $files[$list] or $files[$list] =3D~ /(\.\$\$\$|\.bak)$/) {
next # if has zero size, or is a backup file
}
push (@filesfound, "$scandir/$files[$list]");
}
return 1;
}
#------------------------------------------------------------------------=
--
sub replacepattern{
foreach $source (@filesfound){
@newfile =3D ();
open (FILE, "&lt;$source") || die "Can't open $source: $!.";
@file =3D &lt;FILE&gt;;
close (FILE);
$found =3D 0;
$i=3D0;
foreach $line (@file){
$i++;
$line =3D~ s|^[ \t]+|| if $replacespace;
if (not $found or $replaceall) {
foreach $string (@patterns){
($old, $new) =3D split('#%#', $string, 2);
if ($line =3D~ s|\Q$old\E|$new|g){
print $source, ":\n";
print "Found in line number $i \:   ", $line;
$found =3D 1;
}
}
}
push (@newfile, $line);
}
if ($found or $replacespace) {
open (FILE, "&gt;$source") || die "Can't open $source: $!.";
print FILE @newfile;
close FILE;
}
}
}</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DRxIPAddress>RxIPAddress</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DRxIPAddress rows=3D4 cols=3D46>Regular Expression for recognizing =
IP address:

if ($_=3D~ /\.([0-9]){1,3}\.([0-9]){1,3}\.([0-9]){1,3}/){

    do something

}

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSampleWebSendMailUnix>SampleWebSendMailUnix</A></SPAN><BR></FONT><=
SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSampleWebSendMailUnix rows=3D4 cols=3D46>This shows how to send =
an e-mail on UNIX server


#!/usr/local/bin/perl
$| =3D 1;
print "Content-type: text/html\n\n";
print "&lt;html&gt;\n";
print "&lt;head&gt;\n";
print "&lt;title&gt;Sample send&lt;/title&gt;\n";
print "&lt;/head&gt;\n";
print "&lt;body&gt;";


$EMAIL_TO =3D "info\@your-domain.net";

open(AL,"&gt; tmp") || die "can not open temp file";
   print AL "My test text";
close(AL);

$ret =3D system("mail $EMAIL_TO &lt; tmp");

unlink("tmp");

print "Mail sent to $EMAIL_TO";
print "&lt;/body&gt;";
print "&lt;/html&gt;";

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSampleWebSendMailWindows>SampleWebSendMailWindows</A></SPAN><BR></=
FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSampleWebSendMailWindows rows=3D4 cols=3D46>This function is =
usefull on Windows based hosting sites.
Windows Perl send-mail program is not always fully compatible with the =
UNIX perl
send-mail program version. The following shows how to send an e-mail on =
Windows=20
based hosting servers that are using Perl modul "Sendmail"


use Mail::Sendmail;
$| =3D 1;
	print "Content-type: text/html\n\n";
	print "&lt;html&gt;\n";
	print "&lt;head&gt;\n";
        print "&lt;title&gt;Send mail&lt;/title&gt;\n";
	print "&lt;/head&gt;\n";

%mail=3D(To=3D&gt;'info@your-domain.net',
From=3D&gt;'info@your-domain.net',
Message=3D&gt;"Test mail");
if(sendmail%mail){print "Mail sent OK.\n"}
else {print"Error sending mail:$Mail::Sendmail::error\n"}

	print "&lt;/body&gt;\n";
	print "&lt;/html&gt;\n";


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSaveFormResultInFile>SaveFormResultInFile</A></SPAN><BR></FONT><SP=
AN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSaveFormResultInFile rows=3D4 cols=3D46>This program saves the =
form result after submiting a page.
Normaly used for creating database into a text file.=20
You need to have html page with the form.
The form should have Action pointing to that file.
The file where you going to save the result must have Write permission.


$| =3D 1;

sub ReadRequest {
  if (@_) {
    local (*in) =3D @_;
  }

  local ($i, $loc, $key, $val);

  # Read in text
  if ($ENV{'REQUEST_METHOD'} eq "GET") {
    $in =3D $ENV{'QUERY_STRING'};
  } elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
    for ($i =3D 0; $i &lt; $ENV{'CONTENT_LENGTH'}; $i++) {
      $in .=3D getc;
    }
  }=20

  @in =3D split(/&amp;/,$in);
  foreach $i (0 .. $#in) {
    # Convert plus's to spaces
    $in[$i] =3D~ s/\+/ /g;

    # Convert %XX from hex numbers to alphanumeric
    $in[$i] =3D~ s/%(..)/pack("c",hex($1))/ge;

    # Split into key and value.
    $loc =3D index($in[$i],"=3D");
    $key =3D substr($in[$i],0,$loc);
    $val =3D substr($in[$i],$loc+1);
    $in{$key} .=3D '\0' if (defined($in{$key})); # \0 is the multiple =
separator
    $in{$key} .=3D $val;
  }
  return 1;
}

&amp;ReadRequest;

print "Content-type: text/html\n\n";
print "&lt;html&gt;\n";
print "&lt;head&gt;\n";
print "&lt;title&gt;Save in file&lt;/title&gt;\n";
print "&lt;/head&gt;\n";


open(AL,"&gt;&gt; /orders/orders.txt") || die 'can not open =
../orders/orders.txt file';
foreach $val (@in) {
    print AL "$val \n";
}
close(AL);


print "&lt;b&gt;&lt;center&gt;&lt;FONT COLOR=3Dbrown size=3D5&gt;Thank =
you\.&lt;/FONT&gt;&lt;/b&gt;\n";
print "&lt;/body&gt;\n";
print "&lt;/html&gt;\n";


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSaveInFile>SaveInFile</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSaveInFile rows=3D4 cols=3D46>If you don't need to send the form =
result by mail then
just save it to the file.

$| =3D 1;

sub ReadRequest {
  if (@_) {
    local (*in) =3D @_;
  }

  local ($i, $loc, $key, $val);

  # Read in text
  if ($ENV{'REQUEST_METHOD'} eq "GET") {
    $in =3D $ENV{'QUERY_STRING'};
  } elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
    for ($i =3D 0; $i &lt; $ENV{'CONTENT_LENGTH'}; $i++) {
      $in .=3D getc;
    }
  }=20

  @in =3D split(/&amp;/,$in);
  foreach $i (0 .. $#in) {
    # Convert plus's to spaces
    $in[$i] =3D~ s/\+/ /g;

    # Convert %XX from hex numbers to alphanumeric
    $in[$i] =3D~ s/%(..)/pack("c",hex($1))/ge;

    # Split into key and value.
    $loc =3D index($in[$i],"=3D");
    $key =3D substr($in[$i],0,$loc);
    $val =3D substr($in[$i],$loc+1);
    $in{$key} .=3D '\0' if (defined($in{$key})); # \0 is the multiple =
separator
    $in{$key} .=3D $val;
  }
  return 1;
}

&amp;ReadRequest;

print "Content-type: text/html\n\n";
print "&lt;html&gt;\n";
print "&lt;head&gt;\n";
print "&lt;title&gt;Save in file&lt;/title&gt;\n";
print "&lt;/head&gt;\n";


open(AL,"&gt;&gt; /orders/orders.txt") || die 'can not open =
../orders/orders.txt file';
foreach $val (@in) {
    print AL "$val \n";
}
close(AL);


print "&lt;b&gt;&lt;center&gt;&lt;FONT COLOR=3Dbrown size=3D5&gt;Thank =
you\.&lt;/FONT&gt;&lt;/b&gt;\n";
print "&lt;/body&gt;\n";
print "&lt;/html&gt;\n";



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DScalar>Scalar</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DScalar rows=3D4 cols=3D46>=20
	Scalar Variables
=20
Scalars are accessed by prefixing an identifier with '$'.

scalar:=20
A single value, either numeric or a character string.


identifier:=20
A "variable name." It is composed of upper or lower case letters, =
numbers, and the underscore '_'.
Identifiers are case sensitive (like all of perl).


Scalars are assigned to using '=3D'=20
$scalar =3D expression;


And what is remarkable is that strings and numbers are completely =
interchangable.
For example, the statement

$test_value =3D 4;
$test_value =3D 'testing';


In general variable names consists of numbers, letters and underscores
But they should not start with a number and the variable $_ is special.
Perl is case sensitive, so $a and $A are different.





Perl uses all the usual C arithmetic operators:=20


$a =3D 1 + 2;		# Add 1 and 2 and store in $a

$a =3D 3 - 4;		# Subtract 4 from 3 and store in $a

$a =3D 5 * 6;		# Multiply 5 and 6

$a =3D 7 / 8;		# Divide 7 by 8 to give 0.875

$a =3D 9 ** 10;		# Nine to the power of 10

$a =3D 5 % 2;		# Remainder of 5 divided by 2

++$a;			# Increment $a and then return it

$a++;			# Return $a and then increment it

--$a;			# Decrement $a and then return it

$a--;			# Return $a and then decrement it




For strings Perl has the following:=20

$a =3D $b . $c;	# Concatenate $b and $c

$a =3D $b x $c;	# $b repeated $c times




   To assign values Perl

$a  =3D $b;		# Assign $b to $a

$a +=3D $b;		# Add $b to $a

$a -=3D $b;		# Subtract $b from $a

$a .=3D $b;		# Append $b onto $a



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DScriptPath>ScriptPath</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DScriptPath rows=3D4 cols=3D46>sub script_url
{
local ($ret, $perlwarn);
$perlwarn =3D $^W; $^W =3D 0;
$ret =3D 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'};
$^W =3D $perlwarn;

$script_url =3D $ret;

return $script_url;
}</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSendmailattachment>Sendmailattachment</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSendmailattachment rows=3D4 cols=3D46>Sometimes we need to send =
an e-mail with an attachment.
The following function is a Windows based Send-mail with attachment.

use MIME::QuotedPrint;
use MIME::Base64;
use Mail::Sendmail 0.75; # doesn't work with v. 0.74!

%mail =3D (
        SMTP =3D&gt; 'smtp.somesmtp.com',
        from =3D&gt; 'info@your-domain.net',
        to =3D&gt; 'info@your-domain.net',
        subject =3D&gt; 'Test attachment',
        );
       =20

$boundary =3D "=3D=3D=3D=3D" . time() . "=3D=3D=3D=3D";
$mail{'content-type'} =3D "multipart/mixed; boundary=3D\"$boundary\"";

$message =3D encode_qp( "Voil=E0 le fichier demand=E9" );

$file =3D $^X; # This is the perl executable

open (F, $file) or die "Cannot read $file: $!";
binmode F; undef $/;
$mail{body} =3D encode_base64(&lt;F&gt;);
close F;

$boundary =3D '--'.$boundary;
$mail{body} =3D &lt;&lt;END_OF_BODY;
$boundary
Content-Type: text/plain; charset=3D"iso-8859-1"
Content-Transfer-Encoding: quoted-printable

$message
$boundary
Content-Type: application/octet-stream; name=3D"$^X"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=3D"$^X"

$mail{body}
$boundary--
END_OF_BODY

sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSessionGenerateID>SessionGenerateID</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSessionGenerateID rows=3D4 cols=3D46>sub Generate_Session_ID {		# =
This is the session ID that identifies this person

    srand;
    $SID =3D int(rand(1000000000));
    open (SID,"&gt;$db_path/$program_ID/sessID") || die "Could not open =
$db_path/$program_ID/sessID. $!";
    print SID $SID," ", time," ",shift;     # this shift is the seconds =
the user is off from the server
    close SID || die "Could not close $db_path/$program_ID/sessID. $!";

}
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSessionReadID>SessionReadID</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSessionReadID rows=3D4 cols=3D46>sub Return_SID {		# This is the =
session ID that identifies this person

	open (SESSION,"&lt;$db_path/$program_ID/sessID");
	$_ =3D &lt;SESSION&gt;;
	close SESSION;
	my ($stored_SID,$SID_time,$time_offset) =3D split / /;
	$SID =3D $stored_SID;
	return;   # keep the same SID for this account.
}

    dbmopen (my %User_info,"$db_path/$program_ID/user_info",0660) or die =
"Could not open $db_path/$program_ID/user_info.db. $!";
    my $TZone =3D $User_info{'TZone'};
    dbmclose %User_info or die "Could not close =
$db_path/$program_ID/user_info. $!";
    my %TZ =3D ( 'Pacific' =3D&gt; 10800,       # This is the difference =
in seconds from NY.
	       'Mountain' =3D&gt; 7200,
	       'Central' =3D&gt; 3600,
	       'Eastern' =3D&gt; 0,
	     );


    my $time_offset =3D &amp;Server_time - $TZ{$TZone};   # You need to =
add this to server time to get local time
    &amp;Assign_SID($time_offset);





</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DSimple>Simple</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSimple rows=3D4 cols=3D46>=20
	A Simple Perl Program
=20
Here is the basic perl program that we'll use to get started. =20
#!/usr/local/bin/perl
# Your Comment here
print 'Hello world.';		# Print a message



Every perl program starts off with this as its very first line:=20
#!/usr/local/bin/perl
 This line tells location of Perl=20


Comments can be inserted into a program with the # symbol, and anything =
from the # to the end of the line is ignored (with the exception of the =
first line)


The print function outputs some information. In the above case it prints =
out the the literal string Hello world. and of course the statement ends =
with a semicolon.



Steps to execute the above program
        Type in the example program using a text editor, and save it.
        After you've entered and saved the program make sure the file is =
executable by using the command
        chmod u+x filename   at the UNIX prompt.
        Now to run the program just type any of the following at the =
prompt.
        perl progname
        ./progname


 In case of errors run the program with warnings using the command   =20
perl -w progname   =20
This will display warnings and other (hopefully) helpful messages before =
it tries to execute the program.



To run the program with a debugger use the command  =20
perl -d progname    =20



When the file is executed Perl first compiles it and then executes that =
compiled version.
So after a short pause for compilation the program should run quite =
quickly.
This also explains why you can get compilation errors when you execute a =
Perl file which consists only of text.


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringcommon>Stringcommon</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringcommon rows=3D4 cols=3D46>Strings
How to convert to lower and UPPER case ?
How to count the Number of occurrences of a substring within a string  ?
How to Reformat a paragraph ?
How to track of repeating strings ?
How to concatenate strings
Trim leading white spaces
Trim trailing white spaces
Trim leading and trailing white spaces
=20

How to convert to lower case and UPPER Case ?


                                     To Uppercase and LowerCase
                                     To make the first letter of each =
word upper case:=20
                                     $line =3D~ s/\b(\w)/\U$1/g;

                                     To make the whole line UpperCase:=20
                                     $line =3D uc($line);=20

                                     To force each word to be lower =
case, with the first letter upper case:=20
                                     $line =3D~ s/(\w+)/\u\L$1/g;=20







                                     How to count the Number of =
occurrences of a substring within a
                                     string?


                                     There are a number of ways, with =
varying efficiency:
                                     If you want a count of a certain =
single character (X) within a string,
                                     you can use the tr/// function like =
so:=20

                                     $mystring =3D
                                     =
"IXamXTryingXXtoXkeeptXXtrackXOfXXNumberofXXXXinXThisXstring":
                                     $x_count =3D ($mystring =3D~ =
tr/X//);
                                     print "There are $x_count X =
charcters in the string";=20

                                     This is fine if you are just =
looking for a single character.=20



                                     However, if you are trying to count =
multiple character substrings
                                     within
                                     a larger string, tr/// won't work.
                                     What you can do is wrap a while() =
loop around a global pattern
                                     match.=20

                                     For example, let's count negative =
integers:=20
                                     $mystring =3D "6 -44 9 -2 4 5 66 -3 =
-6 54";
                                     while ($mystring =3D~ /-\d+/g) { =
$neg_count++ }
                                     print "There are $neg_count =
negative numbers in mystring";=20







                                     How to reformat a paragraph?

                                     Use Text::Wrap (part of the =
standard perl distribution):=20
                                     use Text::Wrap;
                                     print wrap("\t", ' ', @paragraphs);


                                     Note : The paragraphs you give to =
Text::Wrap should not contain
                                     embedded newlines.
                                     Text::Wrap doesn't justify the =
lines (flush-right).







                                     How to track of repeating strings ?


                                     First keep track of the number N.
                                     Say you need to change the 3rd =
occurrence of "whoever" or
                                     "whomever" into "whosoever"
                                     or "whomsoever", case =
insensitively.=20
                                     $count =3D 0;
                                     s{((whom?)ever)}{
                                     ++$count =3D=3D 3 # is it the 3rd?
                                     ? "${2}soever" # yes, swap
                                     : $1 # renege and leave it there

                                     }igex;
                                     In the more general case, you can =
use the /g modifier in a while
                                     loop, keeping count of matches.=20
                                     $WANT =3D 3;
                                     $count =3D 0;
                                     while (/(\w+)\s+hat\b/gi) {
                                     if (++$count =3D=3D $WANT) {
                                     print "The third hat is a $1 =
one.\n";
                                     # Warning: don't `last' out of this =
loop
                                     }
                                     }
                                     That prints out: "The third hat is =
a blue one."
                                     You can also use a repetition count =
and repeated pattern like this:=20
                                     =
/(?:\w+\s+fish\s+){2}(\w+)\s+fish/i;







                                     How to concatenate strings ?

                                     This is a simple program.
                                     $name =3D "myfile";
                                     $filename =3D "/tmp/" . $name . =
".tmp";
                                     # $filename now contains =
"/tmp/myfile.tmp"


                                     The same can be done using the join =
command too
                                     $name =3D "myfile";
                                     $filename =3D join "", "/tmp/", =
$name, ".tmp";
                                     # $filename now contains =
"/tmp/myfile.tmp"








</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringcount>Stringcount</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringcount rows=3D4 cols=3D46>Number of occurences of sub string
=20

How to count the Number of occurrences of a substring within a string?


There are a number of ways, with varying efficiency:
If you want a count of a certain single character (X) within a string,
you can use the tr/// function like so:=20

$mystring =3D =
"IXamXTryingXXtoXkeeptXXtrackXOfXXNumberofXXXXinXThisXstring":
$x_count =3D ($mystring =3D~ tr/X//);
print "There are $x_count X charcters in the string";=20

This is fine if you are just looking for a single character.=20


However, if you are trying to count multiple character substrings within
a larger string, tr/// won't work.
What you can do is wrap a while() loop around a global pattern match.=20
For example, let's count negative integers:=20
$mystring =3D "6 -44 9 -2 4 5 66 -3 -6 54";
while ($mystring =3D~ /-\d+/g) { $neg_count++ }
print "There are $neg_count negative numbers in mystring";=20




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringjoin>Stringjoin</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringjoin rows=3D4 cols=3D46>=20
String Join/Concatenate
=20
How to concatenate strings ?

This is a simple program.
$name =3D "myfile";
$filename =3D "/tmp/" . $name . ".tmp";
# $filename now contains "/tmp/myfile.tmp"

The same can be done using the join command too
$name =3D "myfile";
$filename =3D join "", "/tmp/", $name, ".tmp";
# $filename now contains "/tmp/myfile.tmp"



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringlead>Stringlead</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3Dstringlead rows=3D4 cols=3D46>=20
Trim Leading white Spaces
=20
Trim Leading Space=20



$string =3D~ s/^\s*//;




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringleadtrail>Stringleadtrail</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringleadtrail rows=3D4 cols=3D46>Trim Leading and Trailing =
white Spaces

Trim Leading and Trailing Space=20



$string =3D~ s/^\s*(.*?)\s*$/$1/;



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringpara>Stringpara</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringpara rows=3D4 cols=3D46>=20
Reformat paragraph
=20
How to reformat a paragraph?

Use Text::Wrap (part of the standard perl distribution):=20
use Text::Wrap;
print wrap("\t", ' ', @paragraphs);


Note : The paragraphs you give to Text::Wrap should not contain embedded =
newlines.
Text::Wrap doesn't justify the lines (flush-right).



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringrepeat>Stringrepeat</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringrepeat rows=3D4 cols=3D46>=20
Repeating Strings
=20

How to track of repeating strings ?


First keep track of the number N.
Say you need to change the 3rd occurrence of "whoever" or "whomever" =
into "whosoever"
or "whomsoever", case insensitively.=20
$count =3D 0;
s{((whom?)ever)}{
++$count =3D=3D 3 # is it the 3rd?
? "${2}soever" # yes, swap
: $1 # renege and leave it there
}igex;
In the more general case, you can use the /g modifier in a while loop, =
keeping count of matches.=20
$WANT =3D 3;
$count =3D 0;
while (/(\w+)\s+hat\b/gi) {
if (++$count =3D=3D $WANT) {
print "The third hat is a $1 one.\n";
# Warning: don't `last' out of this loop
}
}
That prints out: "The third hat is a blue one."
You can also use a repetition count and repeated pattern like this:=20
/(?:\w+\s+fish\s+){2}(\w+)\s+fish/i;


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringtrail>Stringtrail</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringtrail rows=3D4 cols=3D46>=20
Trim Trailing white Spaces
=20
Trim Trailing Space=20

$string =3D~ s/\s*$//;




</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DStringuppercase>Stringuppercase</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DStringuppercase rows=3D4 cols=3D46>How to convert to lower case =
and UPPER Case ?


To Uppercase and LowerCase

To make the first letter of each word upper case:=20
$line =3D~ s/\b(\w)/\U$1/g;


To make the whole line UpperCase:=20
$line =3D uc($line);=20


To force each word to be lower case, with the first letter upper case:=20
$line =3D~ s/(\w+)/\u\L$1/g;=20



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              name=3DSub>Sub</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DSub rows=3D4 cols=3D46>=3DINFO+
=20
	Sub Routines
=20
=3DEND
=3DSOURCE+
=20




The basic sub routine structure=20
sub NAME {
	STATEMENTS;
}


Facts about the sub rutine in PerlSubroutines are not typed.=20
#  Unlike C, all subroutines take a list as arguments.
#  A subroutine can return values values in either a list or scalar =
context.
#  Unlike Pascal, subroutine definitions cannot be nested.
#  Actually, they can be defined anywhere that is not in a block.
#  Unlike Fortran, there is no distinction between subroutines and =
functions.
#  Arguments to the subroutine are contained in the special array @_ (at =
underscore)


In perl, subroutines are invoked differently than the built-ins =20
	&amp;NAME(arg1,arg2,etc); =20

	# OR if the subroutine takes no arguments  =20
	&amp;NAME; =20

	# return values are used just like anyother value  =20
	$loudestInstrument =3D &amp;measureLoudest(@allInstruments);


Example
	# define an error routine: =20
	sub error {
		($message) =3D @_;
		print("ERROR:",
			$message,
			"Contact the author of the previous page for assistance\n");
		exit(0);
	}
	if ( ! $recipient ) {
		# the form did not have a to field
		# modify this text appropriately
		&amp;error("No Return Address");
	} =20

Note how the definition of the subroutine doesn't affect the flow of our =
program.








=20
=3DEND
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DUn-Webify>Un-Webify</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DUn_Webify rows=3D4 cols=3D46>    # Un-Webify plus signs and =
%-encoding
    $value =3D~ tr/+/ /;
    $value =3D~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DUserenv>Userenv</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DUserenv rows=3D4 cols=3D46>=20
Print the environment variables
=20

This is the hash of all environment variables that your perl program =
inherited from the calling program.
The keys in this hash are all the environment variables that your perl =
program inherits from it's parent process.
The values are, obviously, the actual values of those variables.

while (($key, $value) =3D each %ENV) {
print "$key=3D$value\n";
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DWebclean>Webclean</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DWebclean rows=3D4 cols=3D46>=20
Cleaning the URL of '//'
=20

@urls=3Dqw(
http://www.generalhosting.com/asp/index.htm
http://www.generalhosting.com//asp/index.htm
http://www.generalhosting.com/asp//index.htm
http://www.generalhosting.com//asp//index.htm
);


foreach (@urls){
s#([\-\.\w]+)//#$1/#g;
print $_,"\n";
}


or=20


foreach (@urls){
# much the first part http://
m#^[^/]//#;
# start from the last matched place
# and replace all // with /
s#\G//#/#g;
print $_,"\n";
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DWebencode>Webencode</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DWebencode rows=3D4 cols=3D46>Consider the following URl
http://www.generalhosting.com/cgi-bin/submit?category=3DComputers and =
Internet
The CGI will receive only the category=3DComputers, the rest will be =
ignored, coz of the space

The following will take care of the above problem    =20

$strURL =3D =
'http://www.generalhosting.com/cgi-bin/submit?category=3DComputers and =
Internet';
$strURL =3D~ s/(\W)/sprintf("%%%x", ord($1))/eg;
print $strURL;

Action :=20
http%3a%2f%2fwww%2ewondersky%2ecom%2fcgi%2dbin =
%2fsubmit%3fcategory%3dComputers%20and%20Internet


OR

Another technique is to use URI::Escape module   =20
use URI::Escape;
$strURL =3D uri_escape($strURL ,
'\x00-\x20"#\@%;{}|\\\\^~`\[\]\x7F-\xFF' );



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DPostURL>PostURL</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DPostURL rows=3D4 cols=3D46>use HTTP::Request::Common qw(POST);
use LWP::UserAgent;

$ua =3D LWP::UserAgent-&gt;new();

my $req =3D POST 'http://somedomain.com/cgi-bin/action.asp',
		[ USERNAME =3D&gt; 'myusername' ,=20
		  EMAIL =3D&gt; 'test@test.test',=20
		  Domain =3D&gt; 'test.com' ];

$content =3D $ua-&gt;request($req)-&gt;as_string;



print "$content\n";


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DPostURLBasicAuth>PostURLBasicAuth</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DPostURLBasicAuth rows=3D4 cols=3D46>use HTTP::Request::Common =
qw(POST);
use LWP::UserAgent;

$ua =3D LWP::UserAgent-&gt;new();

my $req =3D POST 'http://somedomain.com/cgi-bin/action.asp',
		[ USERNAME =3D&gt; 'myusername' ,=20
		  EMAIL =3D&gt; 'test@test.test',=20
		  Domain =3D&gt; 'test.com' ];
$req-&gt;authorization_basic('administrator', 'mypassword');

$content =3D $ua-&gt;request($req)-&gt;as_string;



print "$content\n";


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DClearscreen>Clearscreen</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DClearscreen rows=3D4 cols=3D46>=20
Clear Screen
=20
How to clear the screen ?
If you have to clear the screen once in a while=20
system("clear");=20

For doing the same frequently=20
$clear_string =3D `clear`;
print $clear_string;=20

For enhanced screen manipulations, like cursor positions, etc,=20
Use Term::Cap module:
use Term::Cap;
$terminal =3D Term::Cap-&gt;Tgetent( {OSPEED =3D&gt; 9600} );
$clear_string =3D $terminal-&gt;Tputs('cl');=20



</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DFTPBackup>FTPBackup</A></SPAN><BR></FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DFTPBackup rows=3D4 cols=3D46>
#!/usr/bin/perl
use Net::FTP;

# Login info
my $host=3D"your-domain.com";
my $user=3D"ftp_user";
my $password=3D"ftp_user_password";


# Change Dir After Login to this dir:
my $directory=3D"data";

# The folder where the backup files will go to
my $backup_dir=3D"d:\\backup\\";




$ftp=3DNet::FTP-&gt;new($host,Timeout=3D&gt;240) or $newerr=3D1;
  push @ERRORS, "Can't ftp to $host: $!\n" if $newerr;
  myerr() if $newerr;
print "Connected\n";

$ftp-&gt;login($user, $password) or $newerr=3D1;
print "Getting file list";
  push @ERRORS, "Can't login to $host: $!\n" if $newerr;
  $ftp-&gt;quit if $newerr;
  myerr() if $newerr;=20
print "Logged in\n";

$ftp-&gt;cwd($directory) or $newerr=3D1;=20
  push @ERRORS, "Can't cd  $!\n" if $newerr;
  myerr() if $newerr;
  $ftp-&gt;quit if $newerr;

@files=3D$ftp-&gt;dir or $newerr=3D1;
  push @ERRORS, "Can't get file list $!\n" if $newerr;
  myerr() if $newerr;
print "Got  file list\n";


# Dowload the files from the current dir
my $i=3D0;
my @dirs;
foreach(@files) {
   print "$_\n";

    if ($_ =3D~ /\&lt;DIR\&gt;/) {=20
    		$_=3Dsubstr($_,39);
    		s/  */ /g;
    		s/^  *//g;
    		chomp;
    		@stuff=3Dsplit / /;
		# Save the folders names in @dirs
		$dirs[$i] =3D "".$_;
		$i++;
	} else {
    		$_=3Dsubstr($_,39);
    		s/  */ /g;
    		s/^  *//g;
    		chomp;
    		@stuff=3Dsplit / /;

    		print "Getting $_\n";
    		$ftp-&gt;get($_,$backup_dir.$_) or $newerr=3D1;
    		push @ERRORS, "Couldn't get $stuff[3] $!\n" if $newerr;
    }

}


# Go to every folder only one level down and dowload the files
# If the local folder does not exist - create the folder before =
downlaoding the files
foreach $dir (@dirs) {
   print "$dir\n";
   $ftp-&gt;cwd($dir) or $newerr=3D1;=20
   push @ERRORS, "Can't cd $dir $!\n" if $newerr;
   myerr() if $newerr;
   $ftp-&gt;quit if $newerr;

   # If the local folder does not exist - create the folder before =
downlaoding the files
   if ( !-e "$backup_dir.$dir" ) { system(mkdir $backup_dir.$dir); }

		my @files;
		@files=3D$ftp-&gt;dir or $newerr=3D1;
  		push @ERRORS, "Can't get file list $!\n" if $newerr;
  		myerr() if $newerr;
		print "Got  file list\n";

		my $i=3D0;
		my @dirs2;
		foreach(@files) {
   			print "$_\n";

    			if ($_ =3D~ /\&lt;DIR\&gt;/) {=20
    				$_=3Dsubstr($_,39);
    				s/  */ /g;
    				s/^  *//g;
    				chomp;
    				@stuff=3Dsplit / /;
				$dirs2[$i] =3D $_;
				$i++;
			} else {
    				$_=3Dsubstr($_,39);
    				s/  */ /g;
    				s/^  *//g;
    				chomp;
    				@stuff=3Dsplit / /;

    				print "Getting $_\n";
    				$ftp-&gt;get($_,$backup_dir.$dir."\\".$_) or $newerr=3D1;
    				push @ERRORS, "Couldn't get $stuff[3] $!\n" if $newerr;
   		 	}
		}
   	$ftp-&gt;cdup () or $newerr=3D1;=20
   	push @ERRORS, "Can't cdup $!\n" if $newerr;
   	myerr() if $newerr;
   	$ftp-&gt;quit if $newerr;

}




$ftp-&gt;quit;


sub myerr {
  print "Error: \n";
  print @ERRORS;
  exit 0;
}


</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"BORDER-COLLAPSE: collapse"=20
                        borderColor=3D#111111 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"98%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"100%"><FONT style=3D"FONT-SIZE: =
9pt"=20
                              color=3D#ffffff>..</FONT><SPAN=20
                              style=3D"FONT-SIZE: 9pt"><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><SPAN=20
                              style=3D"FONT-WEIGHT: 700"><A=20
                              =
name=3DDirRecursiveWindows>DirRecursiveWindows</A></SPAN><BR></FONT><SPAN=
=20
                              style=3D"FONT-SIZE: 9pt"><TEXTAREA =
name=3DDirRecursiveWindows rows=3D4 cols=3D46>$dir =3D "d:\\\\temp\\";

sub listdirectory {
 local($dir);
 local(@lines);
 local($subdir);
 local($lvl_counter);
 local($list_length);

 $dir =3D $_[0];
 if(opendir (DIR, $dir))
 {
   @lines =3D readdir (DIR);
   closedir (DIR);
   $lvl_counter =3D 2;
   $list_length =3D ( scalar @lines );
   while ($lvl_counter &lt; $list_length)
   {
      $subdir =3D $dir."\\".$lines[$lvl_counter];
      if(opendir (SUBDIR, $subdir))
      {
         closedir (SUBDIR);
         &amp;listdirectory($subdir);
      }
      else
      {
         print "$subdir\n";
      }
      $lvl_counter++;
      }
   }
}

&amp;listdirectory($dir);

</TEXTAREA><BR></SPAN><FONT=20
                              style=3D"FONT-SIZE: 9pt"><A=20
                              =
href=3D"http://www.generalhosting.com/scripts/perl-scripts.htm#ASP =
SCRIPTS">back=20
                              to top</A><BR></FONT><FONT =
style=3D"FONT-SIZE: 9pt"=20
                              =
color=3D#ffffff>..</FONT></TD></TR></TBODY></TABLE></DIV></TD></TR></TBOD=
Y></TABLE></TD></TR></TBODY></TABLE></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D3=20
          border=3D0></TD>
          <TD width=3D2=20
            =
background=3Dhttp://www.generalhosting.com/htm/dotline.gif><IMG=20
            height=3D1 alt=3D"" =
src=3D"http://www.generalhosting.com/htm/spacer.gif"=20
            width=3D2 border=3D0></TD>
          <TD width=3D5><IMG height=3D1 alt=3D""=20
            src=3D"http://www.generalhosting.com/htm/spacer.gif" =
width=3D3=20
          border=3D0></TD>
          <TD class=3Dtan style=3D"BACKGROUND-COLOR: #ffcc39" =
width=3D10><IMG=20
            height=3D1 alt=3D"" =
src=3D"http://www.generalhosting.com/htm/spacer.gif"=20
            width=3D3 border=3D0></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD colSpan=3D2><IMG height=3D2 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR>
    <TD background=3Dhttp://www.generalhosting.com/htm/dotline.gif=20
      colSpan=3D2><IMG height=3D1 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR>
  <TR>
    <TD colSpan=3D2><IMG height=3D2 alt=3D""=20
      src=3D"http://www.generalhosting.com/htm/spacer.gif" width=3D1 =
border=3D0></TD></TR><!---=20

--------------------------------------------------------------

----------------
Include Footer
--------------------------------------------------------------

----------------- --->
  <TR>
    <TD class=3Dfooter align=3Dmiddle colSpan=3D2 height=3D16><A =
class=3Dfooter=20
      =
href=3D"http://www.generalhosting.com/htm/terms-conditions.htm">30-Day =
Money=20
      Back Guarantee</A> | <A class=3Dfooter=20
      href=3D"http://www.generalhosting.com/htm/terms-conditions.htm"=20
      target=3Dterms>Terms &amp; Conditions</A> | =A9 =
GeneralHosting.com/Winweb=20
      LLC., Official Microsoft Windows 2003=20
Hosting</TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/pictgif/log.gif

R0lGODlhMwA1APcAAAAAAP///84QGNYpMc4YId5aY95rc84IGM4QIc4YKc4AGM4xQtY5StZKWs4I
Ic4QKc4hOc4AIcYAIf//1v//9//WAP/OAP/OCP/GAP/OEP/GCP/GEP/GGP+9AP+9CP/GKfe1CP+9
GPetCP+1EP+9IfelCP+tEP+1GP+9Of/vzv/35/elEP+tGP+1Mf+tIf/v1u+UCPecEPecGP+lIf+t
Mf+1Qv+1Sv+9Wv/Gc++MCP+lKf+lMf+tQv+1Uv+9Y//Ge//OjP/WnP/nxu+MEPeUGP+tSv+1Wv+9
a//OlP/Wpf/ete+ECO+EEPeUIf+cKf+lQv/GhPeMIf+UKf+cOf+tWv/OnP/Wrf/evf/v3udzCO97
EP+UMe97GPeEIf+UOe9zEOdrEP+MMf+EMfeEMf+MOedjEO9rGPd7KffOtedjGO9rIfd7MfeEQuda
EO9rKfdzMfd7Od5SEOdaGO9zOedaIe9jKe9jMd5KGOdSId5CGOdSKedaMfe9redKIe+tnN45GN5C
Id4xGNYxGN45Id5CKd5CMdYpGN4xIeeMhO+clNYhGN5COdYxKdYYGM4YGNYhIdYpKed7e////wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJIALAAAAAAzADUA
QAj/AAMIHEiwoMGDCBMqRCjEgAIJEiJEnAgxgkSLFytChMggxcKBfBQgEDRIUB4LFVKmTDOoZckS
KkWUEZCx5sSMCwrygVinjpufRFSmlHHmjRujbmQIrTAEDx5AdwANAsMkCxgwCWxK9CMwEcQ9ZLyI
nfKkrNmyZJ94ubC07dI7ghTRvCnBYAGICZ4U6XEEiZIUL64E+WGkxtIpXsaEWbOmiVAMfQD9EfTI
kQQIHwdOQPRgo4QHe7ygFeslzJgxjH8CIrDRgMfMsEFGKsCAAUQItSP5eR0bIZrOERQ4OJAHhFuV
HR5ZpKgV4gM0CK9ABISHDp4hS+no0UMnxvEKWg5R/1bkyEHzjIgG2ibAeM3p0y6+u/1Jp45TJkJF
OGoeaaBXCYycVUQRNhBow4EDPkGCUBuYxphRIwg1BCCCHEKeRBIwkFAKC2y0yBFQAIEEFDgYUWAR
aCGWGGpn/FSHdk8B8shn0PWW0AR8IBKJAbUVoCMfvNko5JBEIjRBIhB4VtFFy2HoXCRCFBkAGklq
hOEgh2AJCZMZMUfRA4lkJkSHjihiyCM5yLdUGufdhGEDCHlFACB5AAIIBkKB8FSMdtZZkniPKNLI
XOdhyMAEBHUIyHb1eaeSBi66YdxxfZZkyIVt1iVQJBIk8JMbZzCmQVsjsMDCqG1x8aJTUC3VnAT9
Bf/AqQTvhREWaV7sEMIGGWiQwQkznCDUCJ+6oZ0HQmlxIV0S8DGQc2OlJeBZT+yg5lIgWNrIAegV
dJcEA5Q1oA0+/ADFuUf0UGAGQulABhmoreHGmlIdYsh+lyWEyEaF8IXEFS9gIUQShH0gVAZiwcuY
CRLikccggbAGZ2YcbvTAHOqeyINZKq6Ymht1cDcIAjRKGQAf3yqpspIMhGnyyzDHLDNCfhTQmWdO
etZylDLzkYCVES1HkZsWp1fkmBtphaGTTAb9ZY2x/bakRHhMKpQFadxMtE0QcfWR1AI40ogjS1xb
AQjA0cX1ZTwjZIAEjoh3CBhtwdCGIHHAdHWbXDv/e5BtWdqJn1Bf0Gn4IHJYAEMelzpSHt8auUyQ
bYPYWd1SXDhV3RAxDOH550OkIcilNEEuwRUEvU2Addo5mpIHdajRkwjfiV5SoPtlqqFAKUCkR+wg
r7BUsSvIsILwQpUQY0vjEao2RH7vi0CxoLYVxRqhnqHUUkRobvhSgqwd69uehsrYGFKYLRTI3Dll
xtWlMzt+p2fU+u4WTrB7rQefhkwHdirJgVy4FqtZuedW0XpCWkSjog0MqwlRiAIXusAFlKgkDo/Y
VpMgUiM0QIQQWxCLAqlFLbKoTyW3w5ehCNIAiMxBWuIakAxR9IQWLGUDGsihBzxgwZSU4A8lIcAB
9SjStgD0DiJkKAsPCNSDHvjAB0ZQ14A4IJQTkMFBLUJVSgoniNHFT3IDEcJG4DCuclXBClZIAhDS
ZYOl6KA0pznDGZZiJ0s54iFGM8gVbjYAG/QAB/9SAQVSkAQo3AAFQrkAYuCFGuSlBAR2opAhSOa1
hKSsED6AQhKUoAQrAAEHPahBC0ZJgx2IxTSo6UIUKMgFNfSJNRAI0oY6BJEBUOEIR4CixsySsDGI
4WPGsk4fWPMcG6WghRuBBBuKsESOkeY9LXIRHVgjgQVAbUhCSNlGElAIO8wBDl4gwxv2oAdG/Gwj
C/CbzISACNuszDMLMMA1PxIQADs=

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/pictgif/genera.gif

R0lGODlh+gAVAMQAAAAAAP///+9rc+dKWt4hOedaa9YAId4QMd4xSuc5Uv/vzv/evffOtfe9rfet
nPeclO97e++MjP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABIALAAAAAD6ABUAAAX/oCSOpNScSqmubOu+cCzPdC2eDH0udu9LjF1sISAYjkcCJFUSJJ7Q6Cia
4K2ihSk1KhAxts9BxNoaRCEsJ5Smfq7aCVajcEAeBw1XxIg8FPImYFRdcCMPCFBoK4dQgCURCXYG
fmQlCgKSkgQ5JJl2CDeScSoNn6GeR4oQqEgPLRGaLJI0syq1JAx8qKMqupkOEqusqRK3kXaOJMdH
yRIRdagHriW5w0cHlcMDIg6/Kt1IXRLgqBEimNbNI9B2skigM6a2703WSZUSCKyjA/au8vliqdCH
pMSyYcBGMGBnbdspVKoyHVAh7Ii5YMMAHUTlsERFOwlJlELSEcbIO6Ts/5QsYI/eCHTvjmETsdHT
CZUjPCnq1IeEr2EERij4KSCFggcMDViBhSRBBAhQIVjpl0ncCKrMRGA1UOBp1HXtTBBMomJBUmKP
7OyEwRQtibYGdsJ8JyBCgZ8GphXrw0mCAL1R4RrwigauIgaeZiq0w4ulnT83xh6ZNvdAXy8kQ84N
WUIyMhKSR4R2dwSeCYAjHGfi9RLkjM0qYJ/+1GyugaDjGMdAjRFJQnKSTOcOx02SXtGlpymQpM5v
BCZTPq9ghVvErVslThrgBbykhAWMGao42JwF+fHSDwon8dGAiI/SXmhnLeF8b08hPyqSvNaQgEpw
ZTGDL1FBBQh470iiCP+CR4zCoAEIFCiVCA+oFV0rndnxhYYl+EIDgRJC4CEQdkzEwoNK3dcHZItY
6FNYEqgGYYmpfYaYSzFIxlmIUU0zzEXaFVAZD9qJo10mnHz0l4i8zeeXHRflhONuLZX2nh1WTRcW
cKJcdiWGPFlJEzIMiXMQD0qS8ACPUO1VkFCsdHEkc18SI1kc+tXpyVXWWGbQZxUiIeBDEM4w5zCj
2EfaETWiUh2fSCSjnWmzCJZHLYoG5AkCy/U0wqGTSRAoKo1mdeQDMgIiY3Aj4MWYl6NuR+ijsfbn
Qqz2KLJVecM1qKZnSEQpwoiGuPhgonYQcKwIkl3Gyh/YCWZHCh8hYob/GRcewclWBzQ7ZlPXJmBV
iXT2wqF1MKoo7AtKnuBuA3NdJNlxf4KJiwCe9Ucje1ASKuCNTeHkZlaYoeJAp0iQsYC7B/EjnQri
gUWqCBGrAPB2W2UpgrQGQ0pwDLuqEHJ9uq0Al4ksEIhLyR4bAIhhI7Tn4rwinVAZxS6SYJZ0o2kp
5saoUDolCcAJcGQzZ0GE3Jsy9AwajO0NGrOChuAjI2dFZ8i0bMx2LMFW9HWNhK7G6XynlJG+y4l2
3tVkgEOTvtuAFR+Zc9CjMu+DNjNyu7BvCX9fnNwJTAJkFgGOaIeynuv+fdBloHIimNQx/j1nAlBt
NQkTgksiDswrZ3IR/8e+afXZkRftDG4C10pmYuePtXBx2LMrU+UkfY1FQAJElTBywb7izHTLwyel
BAR0lHtOS34SKrqe9KoYqvSScHLmt9eIIKPG6CKRA6hupURcdljqnLREfZE+NMkJi1R+94VCzOoI
XLIS/aqrQUe9dL8/zf8we3MP8I5QgAcpRmuhylvpWJAnj+TMC8CShHdsExwvDUyAUxsbodYDNN7g
KhMIsGBkPJEAdeDPDlYgFvlg5CqyfIdl7EOCylYgoyyc0HstSJUKdEiRCLKIGjWJ0AqWRQIe1so8
D/TCCQkQvbI0AAJPaYD+fkDFKlrxilVkwAOeEgFeieQpDxAhFq3YAAavzI0FIQAAOw==

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/spacer.gif

R0lGODlhAQABAJH/AP///wAAAP///wAAACH/C0FET0JFOklSMS4wAt7tACH5BAEAAAIALAAAAAAB
AAEAAAICVAEAOw==

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/icon_house.gif

R0lGODlhDwAPAIABAP///zMzMyH5BAEAAAEALAAAAAAPAA8AAAIajI+py73gDphx2mbzy1pR83kQ
OIpSGaXqGhUAOw==

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/icon_phone.gif

R0lGODlhDwAPAIABAP///zMzMyH5BAEAAAEALAAAAAAPAA8AAAIbjI+py+0NogRLHpumZjF0ToVU
pY1KaT7qyj4FADs=

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/icon_email.gif

R0lGODlhDwAPAIABAP///zMzMyH5BAEAAAEALAAAAAAPAA8AAAIajI+py+0MoowLhHmrpVRJ83lT
mIzkg6bq+hQAOw==

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/icon_question.gif

R0lGODlhDwAPAIABAP///zMzMyH5BAEAAAEALAAAAAAPAA8AAAIdjI+py30AI1QRVTtxkjm/G4AG
x22XRJGAw7buixQAOw==

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.generalhosting.com/htm/dotline.gif

R0lGODlhAwACAJEAAAAAAP///2ZmZv///yH5BAEAAAMALAAAAAADAAIAAAIDjIJRADs=

------=_NextPart_000_0054_01C97FA3.5118DAF0
Content-Type: application/x-css
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.generalhosting.com/htm/fc_03_style.css

A {
	COLOR: #cc6600; TEXT-DECORATION: underline
}
A:active {
	COLOR: #cc6600; TEXT-DECORATION: none
}
A:hover {
	COLOR: #cc6600; TEXT-DECORATION: none
}
A:visited {
	COLOR: #db6e02; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #db6e02; TEXT-DECORATION: none
}
A.button {
	COLOR: #ffffff; TEXT-DECORATION: none
}
A.button:active {
	COLOR: #ffffff; TEXT-DECORATION: none
}
A.button:hover {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
A.button:visited {
	COLOR: #ffffff; TEXT-DECORATION: none
}
A.button:hover {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
A.button2 {
	COLOR: #333333; TEXT-DECORATION: none
}
A.button2:active {
	COLOR: #333333; TEXT-DECORATION: none
}
A.button2:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.button2:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
A.button2:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.caps {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333333; FONT-VARIANT: =
small-caps; TEXT-DECORATION: none
}
A.caps:active {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333333; FONT-VARIANT: =
small-caps; TEXT-DECORATION: none
}
A.caps:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333333; FONT-VARIANT: =
small-caps; TEXT-DECORATION: underline
}
A.caps:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333333; FONT-VARIANT: =
small-caps; TEXT-DECORATION: none
}
A.caps:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333333; FONT-VARIANT: =
small-caps; TEXT-DECORATION: underline
}
A.footer {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.footer:active {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.footer:hover {
	COLOR: #cccccc; TEXT-DECORATION: underline
}
A.footer:visited {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.footer:hover {
	COLOR: #cccccc; TEXT-DECORATION: underline
}
A.header {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: white; FONT-FAMILY: =
Verdana, Tahoma, Arial; FONT-VARIANT: small-caps; TEXT-DECORATION: none
}
A.header:active {
	COLOR: white; TEXT-DECORATION: none
}
A.header:hover {
	COLOR: white; TEXT-DECORATION: underline
}
A.header:visited {
	COLOR: white; TEXT-DECORATION: none
}
A.header:hover {
	COLOR: white; TEXT-DECORATION: underline
}
A.link2 {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2:active {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.link2:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.link2a {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2a:active {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2a:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.link2a:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
A.link2a:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
A.toplinks {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: =
Verdana, Tahoma, Arial; FONT-VARIANT: small-caps; TEXT-DECORATION: =
underline
}
A.toplinks:active {
	COLOR: black; TEXT-DECORATION: none
}
A.toplinks:hover {
	COLOR: black; TEXT-DECORATION: none
}
A.toplinks:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #333333; FONT-FAMILY: =
Verdana, Tahoma, Arial; FONT-VARIANT: small-caps; TEXT-DECORATION: =
underline
}
A.toplinks:hover {
	COLOR: #333333; TEXT-DECORATION: none
}
BODY {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; BACKGROUND: black; COLOR: =
#333333; FONT-FAMILY: Verdana, Tahoma, Arial
}
.caps {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Tahoma, =
Arial; FONT-VARIANT: small-caps
}
.error {
	FONT-WEIGHT: bold; COLOR: red
}
H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; MARGIN: 1px 0px 0px; PADDING-TOP: 1px; =
FONT-FAMILY: Verdana, Tahoma, Arial
}
.input {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN: 0px; BORDER-LEFT: #333333 =
1px solid; COLOR: #333333; BORDER-BOTTOM: #333333 1px solid; =
FONT-FAMILY: MS Sans Serif, Lucida Sans Unicode, Microsoft Sans Serif; =
BACKGROUND-COLOR: white
}
.large {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-FAMILY: Verdana, Tahoma, =
Arial
}
LI {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: =
Verdana, Tahoma, Arial
}
.orange {
	COLOR: #cc6600
}
.dark_orange {
	COLOR: #fa6626
}
A.dark_orange {
	COLOR: #fa6626; TEXT-DECORATION: underline
}
A.dark_orange:active {
	COLOR: #fa6626; TEXT-DECORATION: none
}
A.dark_orange:hover {
	COLOR: #fa6626; TEXT-DECORATION: none
}
A.dark_orange:visited {
	COLOR: #fa6626; TEXT-DECORATION: underline
}
A.dark_orange:hover {
	COLOR: #fa6626; TEXT-DECORATION: none
}
.light_orange {
	COLOR: #ff9900
}
A.light_orange {
	COLOR: #ff9900; TEXT-DECORATION: underline
}
A.light_orange:active {
	COLOR: #ff9900; TEXT-DECORATION: none
}
A.light_orange:hover {
	COLOR: #ff9900; TEXT-DECORATION: none
}
A.light_orange:visited {
	COLOR: #ff9900; TEXT-DECORATION: underline
}
A.light_orange:hover {
	COLOR: #ff9900; TEXT-DECORATION: none
}
.maroon {
	COLOR: #aa533c
}
A.maroon {
	COLOR: #aa533c; TEXT-DECORATION: underline
}
A.maroon:active {
	COLOR: #aa533c; TEXT-DECORATION: none
}
A.maroon:hover {
	COLOR: #aa533c; TEXT-DECORATION: none
}
A.maroon:visited {
	COLOR: #aa533c; TEXT-DECORATION: underline
}
A.maroon:hover {
	COLOR: #aa533c; TEXT-DECORATION: none
}
.red {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #aa533c; FONT-FAMILY: =
Verdana, Tahoma, Arial; FONT-VARIANT: small-caps
}
.small {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Tahoma, =
Arial
}
.submit {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; BORDER-LEFT: #000000 1px solid; COLOR: white; =
PADDING-TOP: 0px; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: =
Verdana, Helvetica, Arial; BACKGROUND-COLOR: #9a3217
}
TD {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Tahoma, =
Arial
}
TD.cream {
	BORDER-RIGHT: #e6d9cb 1px solid; BORDER-TOP: #e6d9cb 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 12px; BORDER-LEFT: #e6d9cb 1px solid; =
BORDER-BOTTOM: #e6d9cb 1px solid; FONT-FAMILY: Verdana, Tahoma, Arial; =
BACKGROUND-COLOR: #f2ece5
}
TD.dark_brown {
	BACKGROUND-COLOR: #736357
}
TD.dark_cream {
	BACKGROUND-COLOR: #ece2d8
}
TD.footer {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #cccccc; FONT-FAMILY: =
Verdana, Tahoma, Arial; BACKGROUND-COLOR: #464646
}
TD.header {
	PADDING-LEFT: 10px; FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: white; =
FONT-FAMILY: Verdana, Tahoma, Arial; BACKGROUND-COLOR: #736357; =
FONT-VARIANT: small-caps
}
TD.index {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; =
FONT-WEIGHT: normal; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: =
#cccccc 1px solid; BACKGROUND-COLOR: #f8f5f2
}
TD.light_brown {
	BACKGROUND-COLOR: #998675
}
TD.light_cream {
	BACKGROUND-COLOR: #f3efe9
}
TD.gallerynav {
	BACKGROUND-COLOR: #ece2d8
}
TD.gallerynav A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 10px; WIDTH: 100%; COLOR: black; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; TEXT-DECORATION: none
}
TD.gallerynav A:hover {
	DISPLAY: block; FONT-WEIGHT: normal; WIDTH: 100%; COLOR: black; HEIGHT: =
100%; BACKGROUND-COLOR: #d8c9b7; TEXT-DECORATION: none
}
TD.gallerynav A:visited {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 10px; WIDTH: 100%; COLOR: black; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; TEXT-DECORATION: none
}
TD.navon {
	BACKGROUND-COLOR: #aa533c
}
TD.navon A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 12px; WIDTH: 100%; COLOR: white; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; FONT-VARIANT: small-caps; =
TEXT-DECORATION: none
}
TD.navon A:hover {
	DISPLAY: block; FONT-WEIGHT: normal; WIDTH: 100%; COLOR: white; HEIGHT: =
100%; BACKGROUND-COLOR: #993300; TEXT-DECORATION: none
}
TD.navon A:visited {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 12px; WIDTH: 100%; COLOR: white; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; FONT-VARIANT: small-caps; =
TEXT-DECORATION: none
}
TD.nav {
	BACKGROUND-COLOR: #333333
}
TD.nav A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 12px; WIDTH: 100%; COLOR: white; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; FONT-VARIANT: small-caps; =
TEXT-DECORATION: none
}
TD.nav A:hover {
	DISPLAY: block; FONT-WEIGHT: normal; WIDTH: 100%; COLOR: white; HEIGHT: =
100%; BACKGROUND-COLOR: #993300; TEXT-DECORATION: none
}
TD.nav A:visited {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: =
normal; FONT-SIZE: 12px; WIDTH: 100%; COLOR: white; FONT-FAMILY: =
Verdana, Tahoma, Arial; HEIGHT: 100%; FONT-VARIANT: small-caps; =
TEXT-DECORATION: none
}
TD.tan {
	BACKGROUND-COLOR: #d8c9b7
}
TD.top {
	BORDER-RIGHT: #d8c9b7 1px solid; BORDER-TOP: #d8c9b7 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: #d8c9b7 1px solid; =
COLOR: #aa533c; BORDER-BOTTOM: #d8c9b7 1px solid; FONT-FAMILY: Verdana, =
Tahoma, Arial; BACKGROUND-COLOR: #f3efe9
}
TD.fea {
	BORDER-RIGHT: #d8c9b7 1px solid; BORDER-TOP: #d8c9b7 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: #d8c9b7 1px solid; =
COLOR: #333333; BORDER-BOTTOM: #d8c9b7 1px solid; FONT-FAMILY: Verdana, =
Tahoma, Arial; BACKGROUND-COLOR: #ffffff
}
.tiny {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; FONT-FAMILY: Verdana, Tahoma, =
Arial
}

------=_NextPart_000_0054_01C97FA3.5118DAF0--

