Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> аномалия с хэшами 
V
    Опции темы
gcc
Дата 13.11.2009, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



есть код:
Код

...............

                 $loop_data->{let_look_profile} ||= 0; 
                 
      use Data::Dumper;
      print Dumper($loop_data);

        if (  $loop_data->{let_look_profile} ne '1'  
        
         && ( ( ( $c->user_exists() && $args[0] != $c->user->{user}->{id} )
         || !$c->forward( qw /MyApp::Controller::friends found_friends/, [ $args[0], $c->user->{user}->{id} ] ) )
         && !$c->check_user_roles('moder_co') ) ) {
       
       $c->stash->{no_privat_view} = 1;
       
       
       } else {
.............


(код есть вверху и внизу, его много, $loop_data НЕ переопределеяется нигде, а идет с DBI)

ругается на строку         if (  $loop_data->{let_look_profile} ne '1'  
пробовал писать по разному ==  != eq

Код

"Can't use an undefined value as a HASH reference at

        
отлдка Data::Dumper пишет
Код

          'let_look_profile' => 0,


что с эти делать? 

как с этим бороться?



Это сообщение отредактировал(а) gcc - 13.11.2009, 06:47
PM WWW ICQ Skype GTalk Jabber   Вверх
amg
Дата 13.11.2009, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(gcc @  13.11.2009,  03:47 Найти цитируемый пост)
ругается на строку         if (  $loop_data->{let_look_profile} ne '1'  
Не обязательно на эту строку, это ругань на одну из HASH reference, которые в условиях ифа. Смотрите:
Код
#!/usr/bin/perl -w

if ( 1 &&
     $a == 0) {print "\n"}

Код
Name "main::a" used only once: possible typo at ./sss line 4.
Use of uninitialized value in numeric eq (==) at ./sss line 3.

Т.е. ругань на неинициализированную величину идет не на ту строку, в которой эта величина используется в сравнении (строка 4), а на предыдущую строку, в кторой начинается выражение
1 &&
     $a == 0

Это сообщение отредактировал(а) amg - 13.11.2009, 06:19
PM MAIL   Вверх
gcc
Дата 13.11.2009, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



спасибо, я разобрался, хотел удалить первый пост, но увидел что кто-то ответил

там было очень много ошибок в коде, пришлось все анализировать, код не понравился

вот это было не определено еще $c->user->{user}->{id}, НО в других случаях у меня вроде бы всегда ругалось именно на строку где не определено было... а тут именно на первую в if, наверное потомучто там ИЛИ || стояло у меня везде...





Это сообщение отредактировал(а) gcc - 13.11.2009, 07:04
PM WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1852 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.