(Perl) Помогите исправить ошибку Premature end of script headers

COBECTb
Дата: 20.07.2006 11:54:49
Звиняйте за такой вопрос, но я не занимался Перлом, а теперь есть проблема такая:
В проекте используется РНР и Перл, много ушло времени чтобы запустить, и появляются новые ошибки, следующая меня доконала, привожу из ЛОГ-файла сервера(Апачи):
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Premature end of script headers: /home/localhost/cgi-bin/fileshare/process.cgi
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Can't locate object method "new" via package "File::Temp" (perhaps you forgot to load "File::Temp"?) at \\home\\LOCALH~1\\cgi-bin\\FILESH~1\\process.cgi line 210.\n
Вот и тот проблемный кусок кода:
$tmp = new File::Temp( TEMPLATE => 'tempXXXXXXXXXXXXXXX', DIR => $TMP_DIR, SUFFIX => '.log', UNLINK => 1 );
    $tmp_fname = $tmp->filename;

    binmode $tmp;
    while ($bytes_count = read($file_query,$buff,2096)) {
        $size += $bytes_count;
        $md5->add($buff);
        print $tmp $buff;
    }
    close($tmp);

    $file_md5 = $md5->hexdigest;

    if ((stat "$tmp_fname")[7] <= 0) {
           unlink("$tmp_fname");

А браузер выводит такое:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Знающие Перла, подскажите пожалуйста, я даже в доке ничего для себя не нашел.Заранее благодарю, ваша СОВЕСТЬ.
Модератор:
Оформляйте топики согласно требованиям форума!!! Топики оформленные не по правилам - будут удаляться.
Еще один топик с "инофрмативным" названием - и топики будут удалаяться.
SNOOPY_KZ
Дата: 20.07.2006 11:59:43
Думаю парится класс File, см. самую первую строку
COBECTb
Дата: 20.07.2006 12:03:56
SNOOPY_KZ
Думаю парится класс File, см. самую первую строку


В том то и проблема на серваке, все работает, хотя проект не дописан, а у меня локально выдает одни ошибки
g613
Дата: 20.07.2006 12:07:15
COBECTb
Звиняйте за такой вопрос, но я не занимался Перлом, а теперь есть проблема такая:
В проекте используется РНР и Перл, много ушло времени чтобы запустить, и появляются новые ошибки, следующая меня доконала, привожу из ЛОГ-файла сервера(Апачи):
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Premature end of script headers: /home/localhost/cgi-bin/fileshare/process.cgi
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Can't locate object method "new" via package "File::Temp" (perhaps you forgot to load "File::Temp"?) at \\home\\LOCALH~1\\cgi-bin\\FILESH~1\\process.cgi line 210.\n
Вот и тот проблемный кусок кода:
$tmp = new File::Temp( TEMPLATE => 'tempXXXXXXXXXXXXXXX', DIR => $TMP_DIR, SUFFIX => '.log', UNLINK => 1 );
    $tmp_fname = $tmp->filename;

    binmode $tmp;
    while ($bytes_count = read($file_query,$buff,2096)) {
        $size += $bytes_count;
        $md5->add($buff);
        print $tmp $buff;
    }
    close($tmp);

    $file_md5 = $md5->hexdigest;

    if ((stat "$tmp_fname")[7] <= 0) {
           unlink("$tmp_fname");

А браузер выводит такое:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Знающие Перла, подскажите пожалуйста, я даже в доке ничего для себя не нашел.Заранее благодарю, ваша СОВЕСТЬ.


...а теперь ту же самую ругань из консольного варианта запуска, плюс начало скрипта со всеми use ...
COBECTb
Дата: 20.07.2006 12:29:18
g613
COBECTb
Звиняйте за такой вопрос, но я не занимался Перлом, а теперь есть проблема такая:
В проекте используется РНР и Перл, много ушло времени чтобы запустить, и появляются новые ошибки, следующая меня доконала, привожу из ЛОГ-файла сервера(Апачи):
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Premature end of script headers: /home/localhost/cgi-bin/fileshare/process.cgi
[Thu Jul 20 10:36:41 2006] [error] [client 127.0.0.1] Can't locate object method "new" via package "File::Temp" (perhaps you forgot to load "File::Temp"?) at \\home\\LOCALH~1\\cgi-bin\\FILESH~1\\process.cgi line 210.\n
Вот и тот проблемный кусок кода:
$tmp = new File::Temp( TEMPLATE => 'tempXXXXXXXXXXXXXXX', DIR => $TMP_DIR, SUFFIX => '.log', UNLINK => 1 );
    $tmp_fname = $tmp->filename;

    binmode $tmp;
    while ($bytes_count = read($file_query,$buff,2096)) {
        $size += $bytes_count;
        $md5->add($buff);
        print $tmp $buff;
    }
    close($tmp);

    $file_md5 = $md5->hexdigest;

    if ((stat "$tmp_fname")[7] <= 0) {
           unlink("$tmp_fname");

А браузер выводит такое:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Знающие Перла, подскажите пожалуйста, я даже в доке ничего для себя не нашел.Заранее благодарю, ваша СОВЕСТЬ.


...а теперь ту же самую ругань из консольного варианта запуска, плюс начало скрипта со всеми use ...


Я у себя использую пакет разработчика Денвер, пути в скриптах прописал корректно. В PerlBuilder'e говорит:
Status: 302 Moved
location: http://localhost/fileoboz/upload.php?cgrp=&cd=

А начало скрипта такое:
#!C:\WebServers\usr\sbin\Perl.exe

use strict;
use CGI;
use DBI;
use Digest::MD5;
use File::Temp;
use File::Copy;
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
File::Temp->safe_level( File::Temp::HIGH );

Лично я, запутался :-(
g613
Дата: 21.07.2006 21:18:36
версию File::Temp проверь в своем денвере, обьектный интерфейс там был не всегда...
^ozzy^
Дата: 24.07.2006 08:54:31
Проверил у себя, метода new не обнаружил (методы via Exporter truncated :) ):

Methods callable via the given class.
HIGH
MAX_TRIES
MEDIUM
MINX
STANDARD
TEMPXXX
_can_do_level
_can_unlink_opened_file
_deferred_unlink
_gettemp
_is_safe
_is_verysafe
_randchar
_replace_XX
carp
confess
croak
mkdtemp
mkstemp
mkstemps
mktemp
rmtree
safe_level
tempdir
tempfile
tempnam
tmpfile
tmpnam
top_system_uid
unlink0

$VERSION = '0.12';
g613
Дата: 24.07.2006 11:15:46
если верить cpan'у он с 0.15 появился.

...гдеж вы такой раритет то берете...
Anjey aka PM
Дата: 24.07.2006 11:18:39
тот что с раритетной осью поставляется :)
^ozzy^
Дата: 24.07.2006 13:23:41
Есть такой принцип - работает - не трогай )))) А без необходимости - тем более...
Вот так и берем )