Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Birukov                       2:5020/1933.12 29 Nov 2000  01:32:12
 To : All
 Subject : Вопрос
 -------------------------------------------------------------------------------- 
 
  Hе пpиходя в сознание, спешу довести до Вашего сведения следующее:
  Установил я тут Apache 1.3.14 и запустил следующий скриптик простейшей гостевой
 книги:
 
 --- побежал guest.cgi ---
 #!c:/Perl/bin/perl -w
 use 5.004;
 use strict;            # enforce declarations and quoting
 use CGI qw(:standard); # import shortcuts
 use Fcntl qw(:flock);  # imports LOCK_EX, LOCK_SH, LOCK_NB
 sub bail {             # function to handle errors gracefully
     my $error = "@_";
     print h1("Unexpected Error"), p($error), end_html;
     die $error;
 }
 my(
     $CHATNAME, # name of guestbook file
     $MAXSAVE,  # how many to keep
     $TITLE,    # page title and header
     $cur,      # new entry in the guestbook
     @entries,  # all cur entries
     $entry,    # one particular entry
 );
 $TITLE = "Simple Guestbook";
 $CHATNAME = "chatfile"; # wherever makes sense on your system
 $MAXSAVE = 10;
 print header, start_html($TITLE), h1($TITLE);
 $cur = CGI->new();                         # current request
 if ($cur->param("message")) {              # good, we got a message
     $cur->param("date", scalar localtime); # set to the current time
  @entries = ($cur);                        # save message to array
 }
 # open the file for read-write (preserving old contents)
 open(CHANDLE, "+< $CHATNAME") || bail("cannot open $CHATNAME: $!");
 # get exclusive lock on the guestbook (LOCK_EX == exclusive lock)
 flock(CHANDLE, LOCK_EX) || bail("cannot flock $CHATNAME: $!");
 # grab up to $MAXSAVE old entries, newest first
 while (!eof(CHANDLE) && @entries < $MAXSAVE) {
     $entry = CGI->new(\*CHANDLE); # pass the filehandle by reference
     push @entries, $entry;
 }
 seek(CHANDLE, 0, 0) || bail("cannot rewind $CHATNAME: $!");
 foreach $entry (@entries) {
     $entry->save(\*CHANDLE); # pass the filehandle by reference
 }
 truncate(CHANDLE, tell(CHANDLE)) ||
                                  bail("cannot truncate $CHATNAME: $!");
 close(CHANDLE) || bail("cannot close $CHATNAME: $!");
 print hr, start_form;         # hr() emits html horizontal rule: <HR>
 print p("Name:", $cur->textfield(
     -NAME => "name"));
 print p("Message:", $cur->textfield(
     -NAME => "message",
     -OVERRIDE => 1,           # clears previous message
     -SIZE => 50));
 print p(submit("send"), reset("clear"));
 print end_form, hr;
 print h2("Prior Messages");
 foreach $entry (@entries) {
     printf("%s [%s]: %s",
     $entry->param("date"),
     $entry->param("name"),
     $entry->param("message"));
     print br();
 }
 print end_html;
 ---  убежал  guest.cgi ---
  При вызове из броузера http://127.0.0.1/cgi-bin/guest.cgi на экране появляется 
 только надпись 'Simple Guestbook' и все, никаких тебе там полей для ввода и
 всего такого, что выводится при запуске на 'настоящем' Apache в инете.
  Вообщем в инете этот скрипт работает нормально, а на локальной машине глючит.
  Hе сочтите за труд, подскажите в чем проблема plz. Мож надо что-то в апачевских
 настройках поменять?
 
  2Модератор: Извини если что не так написал (типа вопрос ламерский ) но просто
 CGI.PERL.CHAINIK у нас не ходит
 
 --- GolDEAD 3.00.Alpha5+
  * Origin: Раскачаем этот мир! (c) Аpия /Red Terror BBS/ (2:5020/1933.12)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Вопрос   Andrey Birukov   29 Nov 2000 01:32:12 
 Re: Вопрос   Michael Poliakov   04 Dec 2000 16:53:29 
Архивное /ru.cgi.perl/178043a244f87.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional