powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Не могу понять ошибки в скрипте
13 сообщений из 13, страница 1 из 1
(Perl) Не могу понять ошибки в скрипте
    #33305480
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть три строки в скрипте:
my %cardtypes = map { $_ => shift @type_name } @id_cardtype;
my %filials = map { $_ => shift @filial_name } @id_filial;
my %status = map { $_ => shift @status } @id_status;

На них ошибки идут:
[Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 91.

[Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 92.

[Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 93.

При этом когда непосредсвенно на сервере запускаю нгиках ошибок не выдаёт.
В чём трабл?
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33305733
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modЕсть три строки в скрипте:
my %cardtypes = map { $_ => shift @type_name } @id_cardtype;
my %filials = map { $_ => shift @filial_name } @id_filial;
my %status = map { $_ => shift @status } @id_status;

На них ошибки идут:
[Wed Oct 05 10:27:36 2005] [error] [client 10.66.65.60] Use of uninitialized value in list assignment at c:\oracle\ora92\apache\apache\cgi-bin\block.pl line 91.


это не ошибки это ворнинги...


При этом когда непосредсвенно на сервере запускаю нгиках ошибок не выдаёт.
В чём трабл?

на сервере не используеш -w ?

А `трабл` в том, что некоторые элементы твоих массивов имеют значение undef...
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33305837
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ворнинги, то ворнинги, но неохота strict и warnings убирать из скриптов...
А когда скрипты на той-же машине где запускаются он undef почему не ругает?
На сервере я ничего не использую. а чё такое -w?
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33305930
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modВорнинги, то ворнинги, но неохота strict и warnings убирать из скриптов...
А когда скрипты на той-же машине где запускаются он undef почему не ругает?
На сервере я ничего не использую. а чё такое -w?

а версии перла одинаковые ?

дело в том что use warnings в перле появилось если я правильно ошибусь в районе 5.6 до этого это была просто ничего не делающая заглушка...

`perl -w` - примерно тоже самое что и use warnings, только более древнее...
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33305993
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они разными и не могут быть ибо с одного сервака и проверяю... Кстати Active Perl5.8.
Я же говорю что кады на сервере в браузере запускаю всё без матюгов работает, а кады по сети обращаюсь, то выдаёт окно с предложением обратится к админу.
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33306037
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modОни разными и не могут быть ибо с одного сервака и проверяю... Кстати Active Perl5.8.
Я же говорю что кады на сервере в браузере запускаю всё без матюгов работает, а кады по сети обращаюсь, то выдаёт окно с предложением обратится к админу.

я вот чесно не понимаю разници запускания в броузере и запускание по сети. Если только ты не имееш в виду PerlScript ( ака запускание в броузере ) vs CGI ( запускание по сети )...

Заголовки отдаеш ?
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33306701
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и я не понимаю. Пока варнинги закоментил
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33306777
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кому отдаю?
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33306957
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
modкому отдаю?

серверу


но если ты закоментировал ворнинги и оно работает то дело не в этом...

ты б привел лучше минимально-полный кусок кода на котором это воспроизводится...
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33309069
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь скрипт:
#!c:\perl\bin\perl
use warnings;
use strict;
use DBI;
use CGI;
#дата и время

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime;
$year+=1900;
my $date="$mday.$mon.$year";
my $time="$hour.$min.$sec";
my $JavaScript="
function mytime(param)
{
if(param=='да')
{
document.block_form.order_date.value=document.block_form.HiddenTime.value;
document.block_form.id_newtype.disabled =false;
}
if(param=='нет')
{
document.block_form.order_date.value='';
document.block_form.id_newtype.value='';
document.block_form.id_newtype.disabled =true;
}
}";
#старт
my $q=new CGI;
print $q->header('text/html; charset=windows-1251');
print $q->start_html(-title=>'Справочная служба on-line', -style=>{-src=>'/my_style.css'},-script=>$JavaScript);
my $login=$q->param("login");
my $password=$q->param("password");
my $dbh = DBI ->connect('dbi:Oracle:ProcDB','dao','student');
#проверка пользователя
my $sql = "SELECT id_operator, oper_name, active FROM operators Where nickname='$login' and oper_password='$password'";
my $sth = $dbh->prepare($sql);
$sth->execute();
my $passCount=0;
my($id_operator, $oper_name, $active);
my($id_op, $oper_na, $act);
while (($id_op, $oper_na, $act) = $sth->fetchrow_array) {
$passCount++;
$id_operator=$id_op;
$oper_name=$oper_na;
$active=$act;
}
$sth->finish;

print $q->startform(-name=>'block_form',-method=>'post', -action=>'#');

if (($passCount>0) && ($active eq 'да'))
{
#филиалы
$sql = "SELECT id_filial, code_filial, filial_name FROM filials";
$sth = $dbh->prepare($sql);
$sth->execute();
my $iCount=0;
my (@id_filial, @code_filial, @filial_name);
while (($id_filial[$iCount], $code_filial[$iCount], $filial_name[$iCount]) = $sth->fetchrow_array) {
$iCount++;
}
$sth->finish;

#типы карт
$sql = "SELECT id_cardtype, type_name FROM cardtypes";
$sth = $dbh->prepare($sql);
$sth->execute();
$iCount=0;
my (@id_cardtype, @type_name);
while (($id_cardtype[$iCount], $type_name[$iCount]) = $sth->fetchrow_array) {
$iCount++;
}
$sth->finish;

#статус
$sql = "SELECT id_status, status FROM status";
$sth = $dbh->prepare($sql);
$sth->execute();
$iCount=0;
my (@id_status, @status);
while (($id_status[$iCount], $status[$iCount]) = $sth->fetchrow_array) {
$iCount++;
}
$dbh->disconnect();

#ассоциативные массивы

my %cardtypes = map { $_ => shift @type_name } @id_cardtype;
my %filials = map { $_ => shift @filial_name } @id_filial;
my %status = map { $_ => shift @status } @id_status;

#форма
print $q->h1('Блокировка карты:');
print "<table align='center' border=1><tr><td><sup>*</sup>филиал</td><td>";
print $q->popup_menu(-name=>"id_filial", -values=>[@id_filial], -default=>'', -labels=>\%filials);
print "</td><td>дата заказа</td><td>";
print $q->textfield(-name=>"order_date", -default=>"", readonly=>"true");
print $q->hidden(-name=>"HiddenTime", -value=>$date);
print "</td></tr><tr><td><sup>*</sup>ФИО</td><td>";
print $q->textfield(-name=>"client_name",-maxlength=>255);
print "</td><td>оператор</td><td>";
print $q->i($oper_name);
print $q->hidden(-name=>"id_operator", -value=>$id_operator);
print "</td></tr><tr><td>дата рождения</td><td>";
print $q->textfield(-name=>"client_birthday",-size=>10, -maxlength=>10);
print "</td><td><sup>*</sup>номер карты</td><td>";
print $q->textfield(-name=>"card_number",-maxlength=>20);
print "</td></tr><tr><td>номер документа</td><td>";
print $q->textfield(-name=>"identifier");
print "</td><td><sup>*</sup>тип карты</td><td>";
print $q->popup_menu(-name=>"id_cardtype",values=>[@id_cardtype],-default=>'', -labels=>\%cardtypes);
print "</td></tr><tr><td>адрес</td><td>";
print $q->textfield(-name=>"client_address");
print "</td><td><sup>*</sup>срок действия</td><td>";
print $q->textfield(-name=>"currency",-size=>12,-maxlength=>22);
print "</td></tr><tr><td>телефон</td></td><td>";
print $q->textfield(-name=>"client_telephone");
print "</td><td><sup>*</sup>статус</td><td>";
print $q->popup_menu(-name=>"id_status",-values=>[@id_status],-default=>'', -labels=>\%status);
print "</td></tr><tr><td>заказ</td><td>";
print $q->popup_menu(-name=>"new_order", -values=>['да','нет'], -default=>'нет', -onchange=>'mytime(this.value)');
print "</td><td>дата блокировки</td><td>";
print $q->textfield(-name=>"blocking_date", -default=>"$date $time", -readonly=>"true");
print "</td></tr><tr><td>тип новой карты</td><td>";
print $q->popup_menu(-name=>"id_newtype",values=>[@id_cardtype],-default=>'', -disabled =>"true", -labels=>\%cardtypes);
print "</td><td>дата рождения ребёнка</td><td>";
print $q->textfield(-name=>"kid_birthday",-size=>10,-maxlength=>10);
print "</td></tr><tr><td colspan=4><center> примечание</center> <br>";
print $q->textarea(-name=>"commentary",-rows=>3, -columns=>85,-maxlength=>255);
print "</td></tr><tr><td colspan=4 align='center'>";
print $q->button(-name=>'sbmt', -value=>'добавить', onclick=>'document.forms[0].action="block2.pl";submit()');
print $q->reset(-value=>'oбновить');
print $q->button(-name=>'sbmt', -value=>'отмена', onclick=>'document.forms[0].action="first.pl";submit()');
print "</td></tr></table>" ;
print $q->hidden(-name=>'login', -value=>$login);
print $q->hidden(-name=>'password', -value=>$password);
print $q->i('<sup>*</sup>-поля обязательные для заполнения');
print"<p>";
print $q->a({-href=>"#",-onclick=>"document.forms[0].action='second.pl';document.forms[0].target='second';document.forms[0].submit();"},"дополнительно");
print"</p>";
}
else
{
print "Ошибка авторизации! Повторите попытку!";
print $q->br();
print $q->button(-name=>'sbmt', -value=>'исправить', onclick=>'history.go(-1)');
print $q->end_form();
}
#завершение
print $q->end_html();
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33309078
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там тока end_form, за скобкой, а не перед ней...
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33309290
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
modтам тока end_form, за скобкой, а не перед ней...

Х.З....

просто ворнинги не должны вызывать 5xx ошибку. там ниже в логах нет ничего о причине завершения скрипта ?
...
Рейтинг: 0 / 0
(Perl) Не могу понять ошибки в скрипте
    #33311609
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нету ничего внизу
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Не могу понять ошибки в скрипте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]