URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2561
[ Назад ]

Исходное сообщение
"непонятная оибка"

Отправлено moidodyr , 07-Авг-04 19:15 
Вот лог-файл:
[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>";
кто-нибудь скажет в чем дело.
Это происходит на виртуальном сервере в денвере под винкспи.
На реальном хосте этот скрипт работал.


Содержание

Сообщения в этом обсуждении
"непонятная оибка"
Отправлено ees , 07-Авг-04 19:31 
Can't locate CGI.pm

"непонятная оибка"
Отправлено moidodyr , 07-Авг-04 20:00 
>Can't locate CGI.pm
что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.


"непонятная оибка"
Отправлено ihor , 09-Авг-04 10:46 
>>Can't locate CGI.pm
>что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.

use CGI qw(:all); ??


"непонятная оибка"
Отправлено StingFire , 09-Авг-04 11:18 
>>Can't locate CGI.pm
>что делать? качать из нета cgi.pm? я ведь его напрямую не вызываю.
>


Поставить пакет денвера *ActivePerl*.exe. Там есть в том числе и CGI.pm.