|
|
|
|
|
для: ....
(14.11.2009 в 11:05)
| | Я вижу только одну причину тому, что так получается. Файл не подключается через require.
Ибо если разместить строку ПОСЛЕ require, то не работает (напарывается, видимо, на ошибку, и дальше не идет), если в нем же - то та же причина - нет подключения, нет исполнения. Если ДО - то выводится заголовок. Остается понять, почему не подключается и как это провернуть.. | |
|
|
|
|
автор: .... (14.11.2009 в 11:05) |
|
|
для: bronenos
(14.11.2009 в 10:50)
| | одно другому не мешает :)
неплохо было.бы просто всётаки видеть в браузере где обрывается выполнение.
a эти use Mod , они как пишут , эквивалентны
BEGIN { require Mod; import Mod;}
следовательно выполняются раньше любых print | |
|
|
|
|
|
|
|
для: ....
(14.11.2009 в 10:21)
| | Да проблема, по ходу, не в том, чтоб это написать, а в том, чтоб заставить работать подключаемые файлы.. попробую пошаманить.. | |
|
|
|
|
автор: .... (14.11.2009 в 10:21) |
|
|
для: bronenos
(13.11.2009 в 16:48)
| | не смог смоделировать ситуацию.
ещё только такая мысль , попробовать это print "Content-Type: text/html\r\n\r\n-";
написать как содержимое блока BEGIN{} | |
|
|
|
|
|
|
|
для: GeorgeIV
(13.11.2009 в 16:26)
| | Момент вывода заголовков у меня находится в END, переопределенного через tie
Класс этот подключается как файл
Если же брать испытуемое сейчас, то:
main.pl
#!/usr/bin/perl -w
require "./need.pl";
$PAGE{page} = "main.tpl";
$tpl->process("index.tpl", \%PAGE) or die "Ошибка шаблона: ".$tpl->error();
|
need.pl
print "Content-Type: text/html\r\n\r\n-";
use CGI::Carp "fatalsToBrowser";
use Digest::MD5 "md5_hex";
use lib "lib";
use Encode;
use Need;
use SQLite;
use Internet;
use Text;
use Template;
$DB = new SQLite("gymdb.sqlite");
$tpl = new Template({
INCLUDE_PATH => (defined $ADMIN ? "admin/templates/" : "templates/"),
START_TAG => quotemeta("{:"),
END_TAG => quotemeta(":}")
});
1;
|
Это тот, что не работает сейчас в том числе. | |
|
|
|
|
|
|
|
для: bronenos
(13.11.2009 в 16:16)
| | приведите полные начала обоих файлов, включая все use и момент вывода зголовков и нужной информации. | |
|
|
|
|
|
|
|
для: heed
(13.11.2009 в 14:46)
| | Как я указал в начале темы, есть работающий способ употребления этих строк, правда нужен другой, но есть и рабочий черновой вариант, а это значит, что хоть как-то, но выполняется, и путь правилен.
Права и пути посмотрю, хотя и сомневаюсь, что в них проблема.. | |
|
|
|
|
|
|
|
для: bronenos
(13.11.2009 в 14:02)
| | странно, может-быть жалуется на заголовок не потому что не выводится заголовок
, а потому что выдаёт ошибку связанную с чем-то
#!/usr/bin/perl -w
print "content-type: text/plain\n\n";
for $tmp ( @INC) {print $tmp . "\n";}
| из-за #!/usr/bin/perl так-же может выдавать ошибку если путь не соответствует
, а среди каталогов @INC , в которых ищется имя файла включаемого require, всегда должно быть '.'
, но даже если там нет '.' , думаю это должна быть ошибка после печати заголовка.
Хоть какой-нибудь perl-скрипт работает в этой-же дирректории?
//upd
возможно разрешения chmod тоже могут быть причиной | |
|
|
|
|
|
|
|
для: bronenos
(13.11.2009 в 14:02)
| | Я бы, процитировав диагностику, поинтересовался у техподдержки хостера, какие поля должны непременно входить в требуемое
"complete set of HTTP headers" | |
|
|
|
|
|
|
|
для: heed
(13.11.2009 в 13:46)
| | я больше C-шник, так что такие комментарии поставил на автомате сюда.
На деле заместо этой строчки у меня фигурировала
print "Content-Type: text/html\r\n\r\n-";, дефис чтоб было видно, что и текст выводится.
Предложенный Вами вариант не сработал, по-прежнему выводя ту же ошибку.. | |
|
|
|
|