|
|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/178043a244f87.html, оценка из 5, голосов 10
|