(c)  騭, ᪢

ZXNet : 500:95/462.53
E-mail: bestview@mtu-net.ru
WWW   : http://www.ivr.da.ru

   ஭ ࠢ筨 (᫮, 横)
  
               ⮣ CGI-ਯ  Perl
             

(".  " 12/2005)

    ᠭ  ⮩  ਯ  ᮧ ஭
ࠢ筨 ( ᫮,  横),   
㯥   ୥, ⠪  쭮  襬 .
ਯ 祭   ஡ ப஢. 
室   ,   .
      ࠢ筨,  ᫮,  横 ந室
, ࠧ ⮫쪮  ᮤন, ⮬   
 ⪮   "ࠢ筨",     , 
㣮,  .
     룫廊 ࠡ  ⠪ ࠢ筨? 짮⥫
ࠥ  ᭮ ப 㧥  ਯ, ᫥ 祣
 ଠ    (. 1).  㦭
, 짮⥫   "" ( 
Enter,   ⮨   ). ᫨  񭭮
  ᮮ⢥⢨  ࠢ筨, ਯ 뤠
ᮮ⢥ ଠ (. 2, 3),  - 뤠 ᮮ饭
 ᯥ譮 ᪠ (. 4).

ĿĿĿĿ
1.gif         2.gif         3.gif         4.gif         
                                                        
                                                        
                                                        
                                                        

     . 1          . 2          . 3          . 4

     ᬮਬ  , ⠪ ᪠, . 
ਢ ⥪ ਯ.

#!usr/bin/perl -w

use strict;
use CGI qw(:standard);

my $script_name='ref.pl'; #  䠩 ਯ.
my $data_name='data.txt'; #  䠩  ᮤন ࠢ筨.
my $q=param('q');         #  짮⥫.
my $separator='~';        # ⥫   祭 .
my $record;               # ন ⥪饩 .

# ᫨ ६ $q  । (    뫮),
# ࠢ  ⮩ ப (-    ⮣
# ஢    ப;  ᢠ
# 㦭, ⮡ Perl  뤠 ।०).

unless (defined ($q)) {$q=''}

# 塞  ⥪  ᨬ "&", "<", ">", '"'  
# HTML-.   ⠪  ⥪  
#    ନ㥬 HTML-㬥,    ⠪
#  ।⠢ ᮤন 䠩  ﬨ.

$q=~s/&/&amp;/g;  #      ࢮ!
$q=~s/</&lt;/g;
$q=~s/>/&gt;/g;
$q=~s/"/&quot;/g;

# 뢮 HTML-㬥,  㤥  짮⥫.
# 砫쭮 ᮤন     ६ $q: ᫨
#   뫮 - ⠬  ப,  - ⥪ .

print <<END_OF_HTML;
Content-Type: text/html; charset=windows-1251
Expires: Thu Jan  1 00:00:00 1970

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html;
 charset=windows-1251">
<title>ࠢ筨</title>
<style type="text/css">
<!--
body {background: white; color: black; padding: 1em}
p {text-align: justify; text-indent: 2em; margin-top: 0;
 margin-bottom: 0}
-->
</style>
</head>
<body>
<div align="center">
<h1>ࠢ筨</h1>
<form action="$script_name" method="get">
<input type="text" name="q" size="50" value="$q">
<input type="submit" value="">
</form>
</div>
END_OF_HTML

# ᫨  , 饬 ᮮ⢥   䠩
#  ᮤন ࠢ筨.

if (defined (param ('q')))
{
 open (DATA,'<',$data_name) ||
  die ("Can't open file '$data_name'! $!\n");

SEARCH_AND_OUT:
 {
  while ($record=<DATA>) #  䠩  .
  {
   if ($record eq "\n") {next} #  ப ய᪠.

   # ⠭ ࢠ ப . ᫨  ப
   # 稢  "\",  㤠塞  "\"  塞  
   # ᫥ ப.  塞,  । ⠭
   # ப    "\"   -  㤥 ᫥
   # ப .

   while ($record=~s/\\\n//)
   {
    $record.=<DATA>;
   }

   # ⠪,  ⥪  ⠭  $record. 饬  
   # ࠧ⥫ -  ⤥   祭 (ਬ, ᫨
   #  ᨬ "~",    "file~file - 䠩" 箬 㤥
   # "file",  祭 - "file - 䠩"). ᫨ ࠧ⥫
   #   - ,  䠩  ﬨ - ᨭ⠪᪠
   # 訡, ⮣ 뢮 ᮮ饭  ⮬  뢠
   # 믮 ਯ.

   ($record=~m/$separator/o) ||
    die ("Syntax error in file '$data_name', line $.:".
    " separator not found in record!\n");

   #   ஥ ६ $` - ,  뫮  
   #  ࠧ⥫ (  ),   ஥ ६
   # $' - ,  뫮 ᫥ ࠧ⥫ (  祭).
   # ஢塞, ᮢ    ᮬ.

   if ($` eq $q)
   {
    #  㦥.
    # 뢮 祭  室   SEARCH_AND_OUT.
    print ($');
    last SEARCH_AND_OUT;
   }
  }

  #   ᬮ७,  ᮢ  뫮. 뤠
  # ᮮ饭  ᯥ譮 ᪠.

  print <<END_OF_HTML;
<div align="center">
&nbsp;ᮦ, &nbsp; &laquo;$q&raquo; 祣
&nbsp;.
</div>
END_OF_HTML
 } #   SEARCH_AND_OUT.

 close (DATA) || die ("Can't close file '$data_name'! $!\n");
}

# 蠥 ନ஢ HTML-㬥.

print <<END_OF_HTML;
</body>
</html>
END_OF_HTML

     ࠡ  ਯ⮬  ᢮  (쭮) 
 Perl ( ᯮ짮 ActivePerl 5.8.6.811 -
http://www.ActiveState.com/ActivePerl/), ணࠬ - web-ࢥ
( ᯮ짮 Small HTTP Server 3.05.23 -
http://home.lanck.net/mf/srv/index.html)  㧥 (
ᯮ짮 Opera 5.12 (http://www.opera.com) - ,  
᫥  Opera,    ࠡ⠥  ਥ
᪮   486 DX2/66  8  RAM).
     㬮砭 ।,   䠩  ਯ⮬ -
"ref.pl" ( "reference book" - "ࠢ筨").   ࠭
 ६ $script_name (. 砫 ਯ).  祭
⮩ ६ ⠢  ⢥  ࠡ稪
  HTML-㬥, ᮧ ਯ⮬. ᫨  訫
 䠩  ਯ⮬ -㣮, 祭 $script_name
⠪ ᫥ . ,  ਯ  室
 ⠫, ।祭  ࠧ饭 CGI-ਯ⮢ (
Small HTTP Server 3.05.23  㬮砭  ⠫ "cgi-bin"
 - ᮧ   ⠫).
    ।⢥ ᮤন ࠢ筨 ࠭  ⤥쭮
䠩, ଠ ண ᠭ .  ⮣ 䠩 
㬮砭 - "data.txt",  ࠭  ६ $data_name.
, 筮,    䠩 -㣮,  
 $data_name.  㬮砭 ।,   䠩
ᯮ   ⠫  ਯ⮬; ᫨   ⠪, 
 $data_name ।  䠩  㪠   .
      ᮤন ࠢ筨 - ⥪⮢,  ⮨ 
ᥩ,    稭   ப. ⢮
ᥩ  ࠭稢.  ﬨ    ᫮
 ப.       ᪮쪮
ப,  ᫥ 砥  ப , ஬ ᫥,
 稢 ᨬ "\" (ਯ  ⥭ ⠪
筮  㡥  "\"  ᪫   ப
 ).
    ਬ ᯮ ᥩ  䠩:

 1

砫  2\
த  2\
砭  2
 3

    ᫨  ᠬ  稢  "\", , ⮡
। ࠢ쭮  ⮣ "\"  ਧ
"த  ᫥饩 ப",  ⠢ ᫥  
 "\"  ᫥ ⮩    ப.  
⥭ ⮩   ந  ᪫  
⮩ ப,    .
      ⮨   ⥩, ᫥  
㣮: , ࠧ⥫ ( 㬮砭  ᨬ "~", 
 ᯮ짮  ⮣  - 㣮 ᨬ 
 ப  ᪮쪨 ᨬ,  ६
$separator)  祭. ਬ,   "file~file - 䠩"
箬 㤥 "file",  祭 - "file - 䠩".  ᮡ,
ࠧ⥫       ( 
  祭).   㦥, ୮, ,  -
 ,  ࠢ  ᮬ 짮⥫,  祭 -
 ,  뢮  砥  ᮢ.
    祭   ⠭  HTML-㬥,
ନ㥬 ਯ⮬. ⮬  䠩  ﬨ 
ᨬ "&", "<", ">"  '"'  祭 ᥩ  
HTML-  ᨬ (ᮮ⢥⢥ "&amp;", "&lt;",
"&gt;"  "&quot;").   ᥩ ⠪   믮
 , ⮬  । ࠢ ⥪   砬
ਯ 믮    ⥪  (⮡ ⥬
४⭮ 뢥 ⥪   ⢥ 砫쭮 祭
  ନ㥬 HTML-㬥).
     祭 ᥩ  ⢮ 
HTML-ଠ஢,   ᯮ짮  ⥪
ࠧ ᯥ樠 ᨬ,    梥 ,
 뫪, ⠢ ࠦ  ..
     ਢ ਬ 䠩  ᮤন ࠢ筨. 
 ᯮ짮 ⮣ 䠩 祭 . 2-4.  ᮤন
ᥣ  , ଠ      ᢮ ⠡
७ 䠩 TR-DOS.  ⮬ ਬ  ࠧ  
ᯮ짮 ࠧ ⮢ HTML-ଠ஢.

sna~<p><b>७:</b> sna</p>\
<p><b>਩:</b> snapshot (䠩, &nbsp;஬ \
 ﭨ 㫨㥬 &laquo;㬠&raquo;: \
ᮤন , 祭 ॣ஢  &nbsp;\
 㣠 ଠ).</p>\
<p><b>ணࠬ &nbsp;ࠡ⪨:</b> File Extractor 1.1b.\
</p>\
<p><b>ந宦 ७:</b> &nbsp;&laquo;snapshot\
&raquo;.</p>\
<p><b>ଠ &nbsp;ଠ &nbsp;뫪 &nbsp;:\
</b> ᠭ ଠ SNA&nbsp;48K&nbsp;&#151; .&nbsp;\
㬥 &nbsp; JPP; ᠭ ⫨稩 ଠ \
SNA&nbsp;128K &nbsp;48K&nbsp;&#151; .&nbsp;㬥 \
&nbsp; UKV (  , ਬ, &nbsp;ᠩ \
Virtual <nobr>TR-DOS&nbsp;&#151;</nobr> <a href=\
"http://zx.da.ru">http://zx.da.ru</a>).</p>

trd~<p><b>७:</b> trd</p>\
<p><b>਩:</b> ࠧ ᪠ <nobr>TR-DOS.</nobr></p>\
<p><b>ணࠬ &nbsp;ࠡ⪨:</b> File Extractor 1.1b.\
</p>\
<p><b>ந宦 ७:</b>   㪢 \
ॢ <nobr>&laquo;TR-DOS&raquo;.</nobr></p>\
<p><b>ଠ &nbsp;ଠ &nbsp;뫪 &nbsp;:\
</b> &nbsp;䠩 ࠭ ᮤন  ᥪ஢ ᪠ \
<nobr>TR-DOS,</nobr> <nobr>&nbsp;-</nobr> \
⥫쭮 㦥 ଠ樨.</p>

    ,  ⥭   ਯ ஢ 稥
  ࠧ⥫    ⢨ ࠧ  뢠
ࠡ, 뢮 ᮮ饭  ᨭ⠪᪮ 訡  䠩
 ﬨ ( 㪠  ப  ⮬ 䠩,  
ன 訡 뫠 㦥).   ᯮ짮
 ஢ન 䠩  ﬨ: ᫨ 㪠 , 
 ᮮ⢥騩  ,  ਯ 㤥  
, ⮡ 㡥  ⢨ ᪮,  ⠪ ࠧ
஢  . , 祬,  訡  㤥
㦥, ᫨ ࠧ⥫   ⮬  ,
   ,  砥  㣮  .
     ᮮ饭  訡    ⮣, 
 筮   뫨 ⠢ ᨬ "\"  
- ப,    .  ᫥ ப
㤥 ⥭ 砫  ,  ᫨  ⮩ "" 
 砩 ࠧ⥫,   ࠧ   ᮮ饭
 訡.
     室    HTML-㬥⮢,
ନ㥬 ਯ⮬,   ⮣ ࠣ HTML-,
室騥  ਯ  ப "print <<END_OF_HTML;" 
"END_OF_HTML".  ,   뢮  ࠣ⮢ Perl
ந ⠪ 뢠 ௮ ६ (ਬ,
 "$q" ⠢ 祭 ⮩ ६). ⮬,
᫨  塞 HTML- ᮤঠ ᨬ "$"  "@", 
।   ⠢ "\", ⮡ Perl  ⠫,   
ᨬ 稭  ६.  , ᨬ "\"
 ᯥ樠쭮 祭, ⮬, ᫨  塞
HTML-  ᨬ 砥 ᠬ  ᥡ,  । 
⠪  ⠢ "\". ,  ᪠  ⮬ 
 ⭮  ⥬ ࠣ⠬ HTML-,  ᮤঠ
 ⥪⮢ 䠩  ﬨ.
    ப "Content-Type: text/html; charset=windows-1251" 
"Expires: Thu Jan  1 00:00:00 1970" -  HTTP-,
頥 ਯ⮬.  ப, ⤥  
ᮡ⢥ ⥫ HTML-㬥,   易⥫쭮. ப
"Expires..."   ⫠ 楫, ⮡  
㧥 ஢ HTML-㬥, ନ㥬 ਯ⮬. 
 ⫠ ࠢ筨,   -  
ਯ,  ⥪⮢ 䠩  ,   ⠪, 
᫥  , ᮢ饣    ।
ᮢ, 㧥 뤠  १   -   ६
 室   १.
    ਢ ਠ ਯ ⠭  ,  ஢
  ᠬ,  䠩  ﬨ - Windows-1251.  ⮬
  HTTP- ନ㥬 HTML-㬥,   ᠬ ⮬
㬥 㪠: "charset=windows-1251". ᫨  襬 砥
஢ 㣠 (, ᠬ ᮡ,      ਯ 
䠩  ﬨ),  㦭 㪠  .  ᫨ ਯ
뢠 web-ࢥ஬, 믮騬 ⮬᪮
४஢  ᨬ  ⮣,  ⨫  ࢥ
(Small HTTP Server 3.05.23   ),  㯮
 ஢  ᪫  ਯ ( "text/html;
charset=windows-1251"  "text/html")   樨,
 䠪᪠ ஢ HTML-㬥  ᮢ
 㪠  ᠬ ⮬ 㬥,  १ 祣 
㬥 ࠢ쭮 ⮡ࠦ  㧥.
       砭.  讬 ࠧ 䠩  ﬨ
     ⥫쭮 ६,   襬 砥
(᫨ ᪮   ⮬ 䠩   ᫨  
᫥) 㤥 ᬮ७  䠩.  ᪮७ ᪠
, ਬ, ࠧ 䠩  ﬨ  ⤥ 䠩,
       砬, 稭騬 
"᢮" 㪢,  ந       䠩,
 ᨬ  ࢮ 㪢 .   ᯮ짮
-  .


筨


1. .᫮. "  Perl".
   http://lib.ru/PERL/russperl5/perl.txt

2. 䨪 HTML 4.01, ࠧ "".
   http://pyramidin.narod.ru/html401/forms.html

3. .ᮢ, .⨭, .类, .ப. "FAQ  perl
    ணࠬ஢  web". http://pavel.ammosov.ru/ruperl/
