Вот лог-файл:
[Sat Aug 07 19:09:28 2004] [error] [client 127.0.0.1] Premature end of script headers: /home/test2.ru/cgi/guestbook.cgi
[Sat Aug 07 19:09:28 2004] [error] [client 127.0.0.1] Can't locate CGI.pm in @INC (@INC contains: .) at \home\test2.ru\cgi\GUESTB~1.CGI line 2.[Sat Aug 07 19:09:28 2004] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at \home\test2.ru\cgi\GUESTB~1.CGI line 2.
вот скрипт:
#! /usr/bin/perl -w
use CGI qw(:all);
use Fcntl qw(:flock);
print "Content-type: text/html; charset=koi8-r\n\n";
print "<html><body background='../pics/background.gif'><basefont color=black face='Book Antiqua' size=2>";
my @param = param();
if( $#param > -1 )
{
open( file, "<guest.dat" );
@lines = <file>;
close file;
$date = `/usr/bin/date +%D`;
chomp( $date );
$date .= " ";
$date .= `/usr/bin/date +%T`;
$name = param( "name" );
$org = param( "org" );
$email = param( "email" );
$area = param( "area" );
unshift( @lines, '!@#$%' );
$lines[0] .= "\n";
unshift( @lines, $area );
$lines[0] .= "\n";
unshift( @lines, $date );
unshift( @lines, $email );
$lines[0] .= "\n";
unshift( @lines, $org );
$lines[0] .= "\n";
unshift( @lines, $name );
$lines[0] .= "\n";
open( file, ">guest.dat" );
flock( file, LOCK_EX );
for( $i = 0; $i < @lines; $i++ )
{
print file $lines[$i];
}
close file;
}
open( file, "<guest.dat" );
@lines = <file>;
print "<table border=1 align=left width=600>";
for( $i = 0; $i < @lines; $i++ )
{
print "<table border=1 width=600>";
print "<tr><td bgcolor=yellow width=70>";
print "<center><b>йНС:</b></center><br>", $lines[$i];
print "<center><b>пТЗБОЙЪБГЙС:</b></center><br>", $lines[$i + 1];
print "<center><b>e-mail</b></center><br>", $lines[$i + 2];
print "<center><b>дБФБ(Н/Д/З)</b></center><br>", $lines[$i + 3];
print "<td width=400 bgcolor='#aaaaff'>";
for( $j = $i + 4; $j < @lines; $j++ )
{
while( ($l = length( $lines[$j] )) > 60 )
{
$line = substr( $lines[$j], 0, 60 );
print $line, "<br>";
$lines[$j] = substr( $lines[$j], 60, $l );
}
if( substr( $lines[$j], 0, 5 ) eq '!@#$%' )
{
$i = $j;
last;
}
$i = $j;
print $lines[$j], "<br>";
}
print "</td>";
print "</tr></table><hr width=50>";
}
print "</table><br><br>";
print <<end;
<br><br>
<table align=center border=0><tr><td>
<form method=post action="show2.cgi">
<table border=0>
<tr><td align=left>йНС:</td><td><input name="name" type=text size=40></td></tr>
<tr><td align=left>пТЗБОЙЪБГЙС:</td><td><input name="org" type=text size=40></td></tr>
<tr><td align=left>e-mail:</td><td><input name="email" type=text size=40></td></tr>
</table>
<textarea name="area" cols=40 rows=10></textarea><br><br>
<input type=submit value="ПФРТБЧЙФШ">
</form>
</td></tr></table>
end
print "</body></html>";
кто-нибудь скажет в чем дело.
Это происходит на виртуальном сервере в денвере под винкспи.
На реальном хосте этот скрипт работал.
Can't locate CGI.pm
>Can't locate CGI.pm
что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.
>>Can't locate CGI.pm
>что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.use CGI qw(:all); ??
>>Can't locate CGI.pm
>что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.
>
Поставить пакет денвера *ActivePerl*.exe. Там есть в том числе и CGI.pm.