Axil S/E kdk018
				  1997. 4. 16.
				  Kim Do Kyung
SUBJECT: À¥¼¹ö¿¡ ¹æ¸í·Ï(Guestbook)  ¸¸µé±â
DESCRIPTION:
¡Ú À¥¼¹ö¿¡ ¹æ¸í·Ï ¸¸µé±â
	¡Ø ¹æ¸í·Ï ÈÀÏ
  ½ÇÁ¦ ¹æ¹®ÇÑ »ç¶÷µéÀÇ ±â·ÏÀÌ ÀÌ ÈÀÏ¿¡ ³²°Ô µÈ´Ù.
### guestbook.html ### 
 
    ¹æ¸í·Ï 
  ¹æ¸í·Ï... 
 »õ·Î¿î ¹æ¸í·ÏÀ» ÀÛ¼ºÇϽ÷Á¸é ¿©±â¸¦ Ŭ¸¯Çϼ¼¿ä. 
¡Ø ¹æ¸í·ÏÀ» ÀÛ¼ºÇÏ´Â ÈÀÏ
  ÀÌ ÈÀÏ¿¡¼ ¹æ¸í·Ï CGI ProgramÀ» CallÇÏ°Ô µÈ´Ù.
### addbook.html ###
¹æ¸í·Ï ÀÛ¼º
¹æ¸í·Ï ÀÛ¼º
	¡Ø ¹æ¸í·Ï CGI Program
  ¹æ¸í·Ï CGI Script·Î ¸ðµç ¹æ¸í·Ï ÇÁ·Î±×·¥ÀÇ ±Ù°£À̶ó ÇÒ ¼ö ÀÖ´Ù.
#!/usr/local/bin/perl
$mesgfile = "../htdocs/guestbook.html"; <= /cgi-bin ¿¡ guestbook.plÀÌ ÀÖÀ½À» ¾Ë
					   ¼ö ÀÖ´Ù.
$DATE = `date +%y/%m/%d`;               <= "³âµµ/¿ù/ÀÏ"ÀÇ Çü½ÄÀ¸·Î Ãâ·Â   
# HTML¹®¼ÀÇ FORM¿¡¼ ³Ñ°Ü¹ÞÀº °ªÀ» ºÐ¸®ÇØ ³½´Ù.
if ($ENV{'REQUEST_METHOD'} eq "GET") {  	<= ¿©±â¼ºÎÅÍ ....
   $FORM_DATA = $ENV{'QUERY_STRING'};
}
else {
   $LENGTH = $ENV{'CONTENT_LENGTH'};
   while($LENGTH) {
      $FORM_DATA .= getc(STDIN);
      $LENGTH--; 			ÀÌ °÷Àº ´Ù¸¥ CGI¿¡¼µµ ÀÀ¿ëÇÒ ¼ö ÀÖ´Ù.
   }                               guestbook.plÀ» È£ÃâÇÒ¶§ÀÇ parameter passing 
}                      URLÀÌ guestbook.pl?name=KDK&email=kdk@hyundai&... ÀÌ·¸°Ô
		µÇ¹Ç·Î &¿Í ?¸¦ ÀÌ¿ëÇØ DATA¸¦ parsingÇÏ´Â ºÎºÐÀÌ´Ù.
foreach (split(/&/, $FORM_DATA)) {     
   ($NAME, $VALUE) = split(/=/, $_);
   $NAME =~ s/\+/ /g;
   $NAME =~ s/%([0-9|A-F]{2})/pack(C, hex($1))/eg;
   $VALUE =~ s/\+/ /g;
   $VALUE =~ s/%([0-9|A-F]{2})/pack(C, hex($1))/eg;  
   $FORM{$NAME} = $VALUE;          		<= ¿©±â±îÁö ...
}
#########################
#     Get Variables
#########################
$name = $FORM{'name'};         <= Standard InputÀ» ÅëÇØ µé¾î¿Â º¯¼öµéÀ» ÇÁ·Î±×·¥
$email = $FORM{'email'};          ¿¡¼ »ç¿ëÇÒ º¯¼ö·Î ´ëÀÔÇÑ´Ù.
$comment = $FORM{'comment'};
#########################
#    ¹æ¸í·Ï¿¡ Ãß°¡
#########################
open (MAIN, "$mesgfile") || die $!; <= $mesgfileÀ» ¿ÀÇÂÇØ mainÀ̶ó´Â Array¿¡ 
@main = ;                        ¸ðµç ¶óÀÎÀ» ÀúÀåÇØ µÐ´Ù.
close(MAIN);
open (MAIN, "> $mesgfile") || die $!; <= $mesgfileÀ» ¾²±â ¸ðµå·Î ¿ÀÇÂ
foreach $main_line (@main) {
   if ($main_line =~ //) { <= beginÀÌ ÀÖ´Â ¶óÀο¡ »ðÀÔ(»õ·Î¿î³»¿ë)
      print MAIN "\n";
      print MAIN "$name\n";
      print MAIN "$DATE
\n";
      print MAIN "$comment
\n";
      }
   else {
      print MAIN "$main_line";
      }
}
   
#########################
#    º¸¿© ÁÖ±â
#########################
print "Content-type: text/html\n\n"; <= HTML¹®¼ÀÓÀ» Client¿¡°Ô ¾Ë·ÁÁØ´Ù.
open (MAIN, "$mesgfile") || die $!; <= »õ·Î¿î ¶óÀÎÀÌ Ãß°¡µÈ $mesgfile À» Ãâ·Â
while () {
   print "$_";
}
close (MAIN);