       CGI   PERL.

       12      ணࠬ஢    몥
Perl.       ᯮ짮  Perl    ᮧ
ਯ⮢ CGI.  ⪮ ,      
    Perl  CGI,  祭  । .
஬ ⮣,   㧭 ᪮쪮  񬮢  ணࠬ஢
 몥 Perl.
       㦥 ,   ᮧ ਯ  CGI,    ᯮ
ࠪ᪨   ணࠬ஢.   ⮡    ࠬ
Web-ணࠬ⮬,    ⮫쪮 ,   ணࠬ-
  WEB,  ⠪ 室  ।⠢  ⮬,  
।⢠ ᯮ짮  襭 ᯥ᪨ .     
ࠢ쭮 롮 몠 ணࠬ஢  ணࠬ । 
ᮮ⢥⢨  襩 祩,    ⥫쭮  -
䥪⨢ ࠡ    ᨫ  ६.    -
  Perl  ᮧ ਯ⮢,  ᮧ ⮩-
 ᨮ ਯ  ⭮⥫쭮 ⪨  ஬⮪
६.  ⮪ ⮩  饭  祭  ணࠬ஢
CGI-ਯ⮢  몥 Perl.     砭  祭  ⮩
   ᫥騥 楯樨:

?  Perl ।⠢ ᮡ 䥪⨢ ।⢮  ᮧ  -
 ਯ⮢  ᠭ  讣 ,   룮
⫨砥   㣨 몮 ணࠬ஢, ⠪  C  ++.

?   5 몠 Perl    ⥩,  ⠪
 প ꥪ⭮-ਥ஢ ਯ⮢   ᮢ襭⢮-
 孨 ।   ६.

     祬 ࠧࠡ稪 ᯮ Perl  ᮧ CGI- ਯ-
⮢?

     ।騥    뫨 ⠢   ।⠢-
  ⮬,   ⠪ CGI  祬   몠  Perl
 ࠡ⪥ ⥪⮢    ᯮᮡ  ࠧ-
⪨ CGI-ਯ⮢.  㣨 稭  짮  ࠧࠡ稪
몠 Perl  ᠭ CGI-ਯ⮢   ⮬,  Perl
ᯥ稢 ப প ⢨      ,
 ७ᨬ  ᯥ稢 ᭮  ࠡ  
.  㦥 ਫ, Perl ।⠢ ᮡ   -
  몥 ணࠬ஢  ࠡ⪨ ⥪⮢.  ਯ
CGI 筮    ⥭ᨢ ࠡ⪮  ⥪:  
, ᯥ祭 㯠   , 樥 HTML--
  .  .
      CGI-ਯ,  ᠭ  몥 Perl,     ᢮
ࠧ ।⠢ ᮡ ࠣ ணࠬ 筮 -
祭,  ᠭ  C++.    㢨    ⮩  ,
Perl ᯥ稢 প ⢨   .    
,  Perl  ஥    Perl  -
७ᥭ      ᫨⥫   -
  Windows, UNIX, MS, DOS.  To ⥫⢮,   Perl -
 6ec, ⠪ 㢥稢  ਢ⥫쭮.  -
 Perl  ᯮ 㪠⥫,      -
   몮,  祬   C++.     ᪫祭  -
짮 㪠⥫ ।頥 襭 㯠   
 易  ⨬ 訡.  ஬ ⮣ ᯮ ॣ -
 몠 Perl,   ஢ 楫⭮ 室    
䨫஢ 直 escape-᫥⥫쭮,   -
஦ ᭮ 襩 ⥬.  ,   襭 -
᭮  ᯥ樠쭠  Perl,  뢠  taintperl,
। ᯮ짮 - 室    -
⢥ ⥬ .  ⥫   ଠ    taintperl
   Web-㧫, 㪠   ⮩ .

      CGI-
      UNIX-⥬ ணࠬ  ᯮ ਯ, -
ᠭ  몥 Perl,   믮 䠩.  묨 ᫮,  
  室  - ᯥ樠쭮  맮 ਯ-
.  ⥬, ᭮  DOS  Windows,   ࢥ-
  ᯮ ਯ Perl ⮬᪨.    ⮬  砥  
ਤ   䠩,   뢠  Perl 
᪠ ਯ.   ⥬ ਤ ஡ -
 (.  㬥樥  襬 T-ࢥ ⭮⥫쭮  -
᪠ ਯ⮢ Perl. 設⢮ ࢥ஢ HTTP ।,  
ਯ CGI 室  ⠫   cgi-bin.     ⮬
砥  맢 ਯ   URL,  ᫥饬:

        http://your-domain/cgi-bin/your-script

ਬ砭:  URL  ⠫ cgi-bin,      ⢨⥫쭮
ਯ  室  㣮  ⥬.     ।-
  ᯮ  ⠭ ࢥ HTTP.

      GI-   UNIX
     ᫨  ⨫  ਯ  ⠫ cgi-bin  ᤥ 
믮,  짮⥫  맢 ਯ,  ।⢥-
 ᯮ URL.  室 믮 ᪮쪮 蠣.  
 ।,  砫 ਯ 室  ப, -
  䠩  ணࠬ  몥 Perl:

        #!/usr/bin/perl

ਬ砭:   㤥 㪠  ⮩ ப ,  -
騩  ⮣,  ⠭ Perl  襩 ⥬.

 室 ᤥ ਯ 믮,    ᯮ  
chmod:

chmod  +x your-srcipt

         PERL  DOS  WINDOWS
      DOS  Windows ਯ Perl ᠬ  ᥡ    -
묨 ᠬ⥫묨 ணࠬ.   ⮣  室
 ᯮ ணࠬ PERL.EXE,    ਯ  
몥 Perl   ப.   饭 ⮣  -
 ᮧ -䠩   襣 ਯ,     -
 PERL.   ᮮ⢥騬 䠩, ᮤঠ騬 ਯ.  -
ਬ,  ।,    -䠩 HELLO. ᮤন ᫥-
騥 :

        @echo off
        perl Hello.pl %1 %2 %3 %4 %5 %6 %7 %8 %9

      ।,  ਯ Perl Hello.PL ᮤন ᫥-
騥 樨:

print "Hello, args are '@ARGV'\n";

        ,    -䠩    ᪠  ணࠬ
PERL.EXE  㪠 ਯ Hello.PL  ⢥  室  -
 ப. ᫨   ਯ  몥 Perl  Web-ࢥ-
,   㦨,     設⢮  HTTP-ࢥ஢  ᯮ
ਯ  몥 Perl (ਬ,    FolkWeb- ࢥ),
⠪   室  ᯮ짮 -䠩. 묨 ᫮-
,  ᫨  ᯮ HTTP-ࢥ  FolkWeb,    
  - ᯥ樠쭮   맮  CGI-ਯ  
몥 Perl.     ⨢  砥    ॡ  ᮧ
-䠩.
     ᫨  ணࠬ-ࢥ 㦤  -䠩   믮-
 ਯ  몥 Perl,     -䠩 (⠪
 HELLO.)    ⠫  cgi-bin    㤠    -  ਯ  Perl
(Hello.PL).

        HTML-    PERL
      ⥪⮢ 㬥⮢   ᯮ짮  몠  Perl
।⠢ ᮡ ਢ .      ⮫쪮  室
㤮⮢,    ⨫ ࠢ L   -
砫 ⥪⮢ 㬥.  ਬ,  ᫥騩  ਯ  ᮧ
⮩ ⥪⮢ 㬥, ᮤঠ騩 ᮮ饭 Hello, world:

print "Content-type: text/plain\n\n";
print "Hello, world\n";

      ⥪⮢ 㬥⮢ HTML ⠪ 祭 . -
,  ᫥饬 ࠣ ⥪ ᮧ ⮩ 㬥 HTML:

print <<HTML;
Content-type: text/html

<HTML>
<HEAD><TITLE>Test Using HTML</TITLE></HEAD>
<BODY>
<H1><CENTER>
Hello, world
</CENTER></H1>
</BODY></HTML>
HTML


      ਬ  室  室  HTML,    祬  
ணࠬ  몥 Perl.  ⢨⥫쭮,  ᫨    㤠  -
쪮 ப,  㤥  HTML-䠩.  ⨢ ண-
ࠬ ᯮ ᢮⢠ 몠 Perl,    뫨 ᬮ-
  ।饩 ,   筮   .
     ப <<HTML  ᫥ ப  ᨬ HTML  ।⠢-
  ᮡ  ,    뢠  <-㬥>   (here
document),   諠   ନ ணࠬ஢
shell  UNIX.  <줮㬥> ।⠢ ᮡ    -
쪮 ப ࠫ.  Perl ࠡ뢠  <-㬥>  
ப   窠.  ᪮ <-㬥>  -
室   몥 Perl   ⥭,   ᯮ짮 -
 樨    ᮧ  HTML-㬥⮢.
ᯮ  <-㬥>,  ਯ  몥 Perl -
   ᨬ ஢  ᨬ  ப,    
 ᮤঠ 㭪権 printf.  <-㬥> -
ப ᯮ  ᬠਢ   ⮩  ਬ.

         
     ᫨    CGI-ਯ⮢  ࠭稢  ᮧ
᪨ ,   뫮  ⭮.  ᨫ CGI -
⮨  ਤ Web࠭栬 .   11  ᬠਢ-
 ணࠬ  몥 C++,   ᮧ ਯ,  뢮騩 
࠭ 祭 ६ 㦥.  騩 ਯ    몥
Perl 蠥  .   ,   㡥,  -
쪮  룫廊 ணࠬ  몥 Perl,   祬  筠
++ ,    11:

print <<HTML;
Content-type: text/html

<HTML>
<HEAD><TITLE>Echo Environment Variables </TITLE></HEAD>
<BODY>
<H3><CENTER>
Environment Variables:<HR>
</CENTER></H3>
for $env (sort keys %ENV)
{
print "<LI>$env is $ENV{$env}<BR>";
                }

print "</BODY></HTML>\n"

      ਬ ᮧ ᪨ ,   ⥬  뢮
祭 ६ 㦥 ਯ,  ᯮ ଠ஢
HTML-㬥.  ਯ 뢠,   ᯮ짮  
<-㬥> ᮢ⭮  ࠤ樮 㭪樥 print.

        
       11  ,    ᯮᮡ ।  
CGI  ਯ  ᯮ짮 ப ᮢ.  㧥 -
।  HTTP-ࢥ   URL.   ᢮ ।  ࢥ
ᬠਢ ,   ᫥    (?)  URL,  
ப .
     CGI-ਯ       ப  ᮢ  
ᯮᮡ.   ࢥ । ப ᮢ  ਯ,    -
 㬥  ப,   ࢥ ᢠ -
祭 ப ᮢ ६ 㦥 QUERY_STRING.   -
,     ᬮ७  ਯ,   
뢮  ࠭ 祭 ६ 㦥,  맢 ਯ,
ᯮ ப ᮢ.

       HTML    GET.
       㢨,  ᯮ짮 ᪠ ISINDEX   ᮧ-
 筮  筮 .      祭  
짮⥫  祬  祭  室  ᯮ짮
. 騩 ਯ  몥 Perl  . ᯮ
⮤ GET,  ਯ   㧥 ᫠ 祭 
  URL, ⠪    ᯮ짮 ISINDEX.  -
 ᯮ짮 GET  ISINDEX ⮨  ⮬,    ᯮ짮-
 ⮤ GET 㧥  ᮥ ᪮쪮 稭  
  ப ᮢ,  ࠧ    ᠭ  (&).
 ⮣ ⮡ ਯ  ।  祭  ,    㧥
砥    ப .  ਬ,  ᫨  -
 ᮤন   (,      ஦)    ⠪
祭ﬨ (Bob,  27,  11-1-68),   ப ᮢ 㤥 ᮤ-
    祭                  ᫥饬        ଠ:
<name=Bob&age==27&birthday=l 1-1-68>.   ᫥饬 ਬ ਯ
   뢮  ࠭  祭     ᮧ-
 HTML-:

        ($cgi_bin, $cgi_script) = ($0 =~ m:(.*)[/\\](.*):);
        $query = $ENV{QUERY_STRING};

        if ($query eq '')
        {
                # ᣥ㥬 
                print <<FORM;
Content-type: text/html
<HTML>
<HEAD><TITLE>Sample GET Form </TITLE></HEAD>
<BODY>
What is your query? <P>
<FORM METHOD="GET" ACTION="$cgi_script">
A checkBox. <BR>
<INPUT TYPE="checkbox" NAME="chek" VALUE="on"><P>

A radio button set. <BR>
<INPUT TYPE="radio" NAME="button" VALUE="1"> 1<BR>
<INPUT TYPE="radio" NAME="button" VALUE="2"> 2<BR>
<INPUT TYPE="radio" NAME="button" VALUE="3"> 3<P>
A data entry field<BR>
<INPUT NAME="field"><P>

Send the data.<BR>
<INPUT TYPE="submit">
</FORM>
</HTML>
FORM
        }
else  {
        # ᯥ⠥ १
        print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>GET Form Result</TITLE></HEAD>\n"
print "<BODY>\n";
print "Your query values:<P>\n";
@fields = split('&', $query);
forech (@field) {
        Switch: {
                /^check=(.*)/ && do {
                        $check = $1;
                        last Switch;
                };
                /^button=(.*)/ && do {
                        $button = $1;
                        last Switch;
                };
                /^field=(.*)/ && do {
                        $field = $decode(1);
                        last Switch;
                };
        }
}

        print "Check Box: $check<BR>\n";
        print "Radio Button: $button<BR>\n";
        print "Data Field:", &html($field), "<BR>\n";
        print "<HTML>\n";
}

        sub decode{
                local ($value) = @_;
                $value =~ s/\+/ /g;
                $value =~ s/%([0-9A-H]{2})/pack('C',hex($1))/eg;
                return $value;
                }
        sub html {
                local ($value) = @_;
                $value =~ s/</&lt;/g;
                $value =~ s/>/&gt;/g;
                return $value'
                }

         ப ਯ:

($cgi_bin, $cgi_script) = ($0 =~ m:(.*)[/\\](.*):);

      ࠦ 룫廊 宦   筮  ࠦ  
।饬 ਬ.     砥 ਯ ࠧ 
 ⠫   䠩.   ⮬ ਬ     ਯ ᮧ-
   ࠡ뢠  뢮,   筮 㤭  -
.   ᯮᮡ ४  ࠡ⪨ ,   ⮬
 業  ࠡ   .
     ਯ ।, ᮧ    ࠡ ,
 ᨬ ⮣, 㯨    짮⥫.  -
ࠡ⪨ ப ᮢ ਯ ࠧ     ,    -
 㭪 split.   ਯ ࠢ      
묨  . ᬮਬ ᫥騩 ਬ:

forech (@field) {
Switch: {
        /^check=(.*)/ && do {
                $check = $1;
                last Switch;
        };


     筠 ଠ 横 foreach 砥 ६ {$VAR). ᫨
横 foreach ᪠  ६,  Perl ᯮ ६-
  㬮砭 $_.  筮,   ॣ୮ ࠦ
筮 룫廊 ᫥騬 ࠧ $VAR=~/PATTERN/.  ᫨ ६-
  ࠦ 饭,  Perl ᯮ $_    ६  
㬮砭,  १ 祣 横  ॣ୮ ࠦ ᮮ⢥-
  .   ᫨ ᫨誮    ६
 㬮砭,     몥 Perl   .   
  砥 ᯮ짮 ६,  ।  㬮-
砭,    ⪨   ⠥.
         ॣ୮  ࠦ,    饥
 /^field=(.  *)/.   ࠦ 㪠뢠    室-
    砫 ப,   ।頥  ᮢ-
  ।  㣮 . 묨 ᫮,    
ࠢ⢠ (=)  ᮮ⢥⢮ ᠬ ᥡ.   
ॣ୮ ࠦ ᮮ⢥ 祭    
 ६ $1.  ᪮ $1 ।⠢ ᮡ ६ -
,   ਯ    ६     
.  ਯ ᯮ ணࠬ  decode    ஢
ᨬ  ,  뫨 ஢ 㧥஬.  -
 ࠦ, ᯮ㥬 ணࠬ ஢, ᬠ-
ਢ  ।饬 ਬ.
     , ਯ ᯮ ணࠬ html,  ⮡ -
஢ 祭   뢮   ⥪ HTML.  ਯ 
᫠   ⥪ 㧥    HTML-㬥  
믮 -  ࠡ⪨.      ᪮  HTML  -
 㣫 ᪮ (<>)  ஢ L-室,  ਯ
 ஢  ᪮, ᯮ ᫥⥫쭮 HTML
&lt;  &gt;.

      HTML-    POST
     騩 ਯ 祭  ⮫쪮   㦤訩,
 ᪫祭 ⮣,    ਯ ᯮ ⮤ POST 
뫪   ਯ CGI.  ⮤ POST  ४⨢ -
 ᫠  , ᯮ ⠭ 室 ਯ,  
 ப ᮢ.  ⮤ POST 砥  ⮬, 
  ࠡ뢠 訥 ꥬ ,  ⮣  ⮤ GET
࠭祭 ࠭⢮ ६ ࢥ,   ⠪    URL
㧥.
      ⥭   ⠭⭮   ਯ    -
 㭪 sys-read  㦭 ᫮ .   ப -
   ᮤন    ६  㦥  CONTENT_LENGTH.
᫥ ⮣  ਯ 祫 ப ᮢ, 쭥 ࠡ-
  뢠 祭 宦  ᬮ७    ।-
饬 ਬ.  ⮣ ⮡ ᤥ,   ਯ  ⪨,
ࠡ⪠ ப ᮢ ⢫   ᪮쪮  -
 ᫮ 室:

($cgi_bin, $cgi_script) = ($0 =~ m:(.*)[/\\](.*):);
$content_length = $ENV(CONTENT_LENGTH);

if (!definet($query) || $query eq '') {
        # ᣥ㥬 
                print <<FORM;
Content-type: text/html
<HTML>
<HEAD><TITLE>Sample POST Form </TITLE></HEAD>
<BODY>
What is your query? <P>
<FORM METHOD="POST" ACTION="$cgi_script">
A checkBox. <BR>
<INPUT TYPE="checkbox" NAME="chek" VALUE="on"><P>

A radio button set. <BR>
<INPUT TYPE="radio" NAME="button" VALUE="1"> 1<BR>
<INPUT TYPE="radio" NAME="button" VALUE="2"> 2<BR>
<INPUT TYPE="radio" NAME="button" VALUE="3"> 3<P>
A data entry field<BR>
<INPUT NAME="field"><P>

Send the data.<BR>
<INPUT TYPE="submit">
</FORM>
</HTML>
FORM
        }
else  {
        # ᯥ⠥ १
        print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>POST Form Result</TITLE></HEAD>\n"
print "<BODY>\n";
print "Your query values:<P>\n";
@fields = split('&', $query);
forech (@field) {
                /([^=](.*)/ && do {
                local ($filed, $value) = ($1, $2);
                $query{$field} = &decode($value);
        }
}

        print "Check Box: $query{check}<BR>\n";
        print "Radio Button: $query{button}<BR>\n";
        print "Data Field:", &html($query{field}), "<BR>\n";
        print "<HTML>\n";
}

        sub decode{
                local ($value) = @_;
                $value =~ s/\+/ /g;
                $value =~ s/%([0-9A-H]{2})/pack('C',hex($1))/eg;
                return $value;
                }
        sub html {
                local ($value) = @_;
                $value =~ s/</&lt;/g;
                $value =~ s/>/&gt;/g;
                return $value'
                }

      ਯ ᯮ  ॣ୮ ࠦ   -
  祭   ப :
                /([^=](.*)/ && do {
        local ($filed, $value) = ($1, $2);
        $query{$field} = &decode($value);
}

      ⮣ ⮡ ᢠ 祭     -
쭮 ६.   ணࠬ ࠭     -
樠⨢ ᨢ.  ᢮ । ਯ  ஢ -
ᨢ,  ᯮ 㦭  .     -
 [^=]  ॣ୮ ࠦ.    ⥪  (^)  
 类६,  㪠뢠騬  砫 ப,     뫮  
।饬 ਬ.    砥   㦨  栭
  [=].   ⠪ ⢥ ॣ୮ ࠦ   
⠭ ⠪: <ᮮ⢥    ᨬ,  -
  ࠢ⢠ ⥬ ᮮ⢥   ࠢ⢠    ⥬
ᮮ⢥ ᥬ 騬, ᨬ>.

           CGI-LIB        PERL    
 .

     饤㯭 ⥪ Perl cgi-lib.pl 頥  ࠡ
CGI-.   ᮤন ᪮쪮  ணࠬ,    
訩  ।⠢ ணࠬ ReadParse,   
⠥    .       ⮨
cgi-lib  ,    ஧筮  ࠡ뢠    ⨯
 (ISINDEX, GET, POST)   ,  騥   -
⥩    ꥬ .
      ணࠬ,  ⠪   PrintHeader,    HtmlTop,
HtmlBot ᮧ ⠭ HTML-᫥⥫쭮,   ᫨-
    ⠪ ,   ⥫ .   ᯮ짮
cgi-lib  砥 室     ४⨢  require.
  ⠫஢ cgi-lib.pl 㤠  ,      ⠭
⠭⭠  ⥪  Perl  (筮  C:\PERL\LIB    DOS-  
Windows⥬)    뫠  ,  ᯮ  㪠-
  .  祭 ⥫쭮 ଠ樨  
㧪    ⥪    cgi-lib.pl             Web-㧥
http://www.bio.cam.ac.uk/cgi-lib

     
      ⮩     ⥬,   ᯮ짮  Perl
 ᠭ 筮 ᫮ ਯ⮢ CGI.  ᯮ  -
,  ன   , 㣨 ணࠬ -
ᨮ쭮 ஢ 訬 ⠬,   , ⮡ 
  ।⠢  Web.   14    -
 Java.   㢨,   Java  ᯮᮡ  ᮧ-
 㧫 Web,  ᮤঠ    ⨬.    -
⥫쭮  14 ।⠢ 㣮   ᠭ ਯ⮢ -
JavaScript.   । ⥬  室    14,    -
,    ᫥騥 祢 楯樨:
? Perl ।⠢ ᮡ ࠧ஭    ணࠬ-
஢,    ண  ࠧࠡ뢠 ਯ CGI  
Web,  ⠪ ࠤ樮 ணࠬ   ᯮ짮-
.

?  Perl  ᯮᮡ  ࠡ⪨ ⥪⮢,    ࣠樨
㯠   ,    ७ᨬ 몮  ᯥ-
稢 ᭮  ࠡ  .    ࠪ-
  묨  Webணࠬ஢.

?   ࠡ⪨ ⥪⮢ ਯ 몠 Perl ப ᯮ -
 ࠦ.

?  設⢮ ਯ⮢  Web  饥 ६ ᠭ  -
 Perl.  ⠪ 모,  JavaScript  VBScript,  -
   몠 Perl.

      WEB-     GI-  
 PERL
     騥 Web-㧫   㧭  ⠫ ⭮-
⥫쭮 ᯮ짮 몠 Perl  ᮧ CGI-ਯ⮢,  ⠪-
  ꥪ⭮ਥ஢ ணࠬ஢.  ᯮ  
㧫  ⢥ ࠢ 窨 襣 ᫥ Web.
http://www.globalserve.net/~brent/tech/perl/index.html
         - Watermarks: 室  Perl

http://iamwww.unibe.ch/~scg/Src/ - 娢 ਯ⮢ SCG

http://sunsite.unc.edu/jem/source.html - 室 

http://www.metronet.com:70/1/perlinfo/scripts - ਯ  Perl
           楫

http://worldwidemart.com/script/ - ⮢᪨ 娢 ਯ⮢

http://www.bio.cam.ac.uk/cgi-lib/ - Home ࠭ CGI-LIB.PL

scan & edit by eastwood. eastwood@shadrinsk.zaural.ru
http://www.shadrinsk.zaural.ru/~eastwood
 )         A*.FRM                                        *.MAC                                                          <       