![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
есть данный код
проблема в том что через раз $attr показывает не правильную информацию!!! т.е. всегда показывает 1, напрмиер.... если добавить внизу после определения $attr (там где закомментированно) $loop_data = undef; $attr = undef; то переменная $attr всегда пуская! т.е. perl все время почему-то сохраняет переменную $attr у себя, даже есл ия ее повтрно хочу переопределить!! почему это так? (mod_perl, сервер Catalyst'a) это из-за того что sub disp_tree внтури другого метода sub active_cs ?? Это сообщение отредактировал(а) gcc - 7.10.2009, 13:40 |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Да, скорее всего из-за этого. Вроде мы как-то в Moscow.pm такой вариант обсуждали (http://mail.pm.org/pipermail/moscow-pm/2008-May/002107.html). Это сообщение отредактировал(а) ginnie - 7.10.2009, 15:10 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
ginnie, понятно, я написал our $attr - все заработало, но там наверное желательно нормально надо сделать, чтобы не было внутри метода...
|
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, определение неанонимной функции внутри другой функции, да еще использующей нелокальные переменные - это очень плохой стиль разработки. Надо переделать.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
ginnie, спасибо,
ну там еще можно ассесор сделать: MyAPP::Modul->{acrt} = $dbh это тоже будет, наверное, как глобальная переменная но если в функции, есть еще одна функция, то варнинг ругается, только при старте mod_perl, при выполнении ошибок не пишет... а в чем истенная ошибка, если так сделать? в том что будет(может быть) маленькая скорость и утечки памяти при очень больших нагрузках? |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, ошибка в том, что подобный вариант не описан в документации, и результат может отличаться от версии к версии perl (что видно по обсуждению в Moscow.pm).
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |