Старый 18.12.2007, 13:20   #1
Новичок
 
Регистрация: 18.12.2007
Сообщений: 6
Вес репутации: 0
zooloo на пути к лучшему
По умолчанию Не срабатывает Perl код.

Не могу понять, в чем проблема: сайт на perl, есть SSI. Выполняю инструкции по установке: на htm/html страницу ставлю инклуд

<!--#include virtual ="/cgi-bin/sape/add_sape.cgi" -->

В файл add_sape.cgi ставлю предложенный код

"$ENV{DOCUMENT_ROOT}/*******************/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE(
user => '*******************',
host => '<ИМЯ_ХОСТА>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->get_links;

не забыв перед этим

#!/usr/bin/perl -w

ну и скачанную папку с правами 777 - в корень сайта. Переменные окружения дают корректные данные, их замена ручками на нужные значения ничего не дала, файл links.db создается, однако на странцу в том месте, где стоит инклуд, выводится стандартное сообщение об ошибке:

[an error occurred while processing this directive]

а в логи:

Use of uninitialized value in print at /[...путь...]/cgi-bin/sape/add_sape.cgi line 10.
[error] [...ip...] Premature end of script headers: /[...путь...]/cgi-bin/sape/add_sape.cgi
[error] [...ip...] unable to include "/cgi-bin/sape/add_sape.cgi" in parsed file [...путь...]/page_name.htm

Согласно рекомендаций FAQ (или ответчика) проследил передачу данных внутри скрипта - на ту "ветку" программы, где содержится ссылка на server (my $links_url = "http://$self->{server}/code.php...), похоже, вообще никогда не переходит...

хелп плиз.
zooloo вне форума   Ответить с цитированием
Старый 18.12.2007, 13:29   #2
Новичок
 
Регистрация: 25.11.2007
Сообщений: 30
Вес репутации: 149
alex_bu на пути к лучшему
По умолчанию

Первые три строки скрипта add_sape.cgi поностью покажите, как есть...
alex_bu вне форума   Ответить с цитированием
Старый 18.12.2007, 13:33   #3
Новичок
 
Регистрация: 25.11.2007
Сообщений: 30
Вес репутации: 149
alex_bu на пути к лучшему
По умолчанию

#!/usr/bin/perl
use warnings;
use strict;
print "Content-type: text/html; charset=windows-1251\n\n";
require "/usr/home/path_to_module/SAPE.pm";

Вот так в начале сделайте...
alex_bu вне форума   Ответить с цитированием
Старый 18.12.2007, 15:38   #4
Новичок
 
Регистрация: 18.12.2007
Сообщений: 6
Вес репутации: 0
zooloo на пути к лучшему
По умолчанию

Огромное спасибо, помогло )
zooloo вне форума   Ответить с цитированием
Старый 18.12.2007, 15:51   #5
Новичок
 
Регистрация: 25.11.2007
Сообщений: 30
Вес репутации: 149
alex_bu на пути к лучшему
По умолчанию

Да не за что. Будут вопросы по perl - обращайтесь.
alex_bu вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает фильтр "Не покупать ссылки на сайтах, уже купленных в рамках этого пр" antsv Ошибки при работе с системой 19 15.04.2008 19:48
Почему не срабатывает фильтр? darksquall Вопросы по работе системы 3 01.02.2008 23:15
PHP + PERL KF-WEB Установка кода на различные движки 5 25.11.2007 14:59
Не срабатывает код rusik Ошибки при работе с системой 23 15.10.2007 11:38
Код системы на Perl saga Пожелания пользователей системы 5 17.01.2007 13:31


Часовой пояс GMT +3, время: 12:34.