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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача скаляров, массивов по ссылке в процедуру 
:(
    Опции темы
Anarki
Дата 25.5.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

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



Вот, значит куски кода
Код

sub update_form {
my($fid,$cid,$fields,$defaults,$field_ids) = @_;
print $fields;
# et cetera
}
update_form($q->param("id"),$q->param("cid"),\{$q->param("fields")},\{$q->param("defaults")},\{$q->param("fids")});
# $q - object CGI, fields, defaults, fids v $q->param - massivy

$q - объект ЦГИ, $q->param("fields ... defaults ... fids - массивы, выводит
print $fields; просто ссылку - REF(0x857dd28) О_о
В чём может быть трабла?


--------------------
PM WWW   Вверх
Anarki
Дата 25.5.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

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



Темку можно закрывать/удалять.


--------------------
PM WWW   Вверх
korob2001
Дата 26.5.2005, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата

Темку можно закрывать/удалять.

Вообще-то, по нормальному не мешало бы выложить решение проблемы, даже если ты к ниму пришёл сам, да бы другие не спотыкались на тех же граблях. Но это конечно дело твоё, если не добавишь решение, тогда я её удалю, так как толку от такой темы мало.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Anarki
Дата 29.5.2005, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

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



`Ошибка` была в этом \{$q->param("fields")} на самом деле это не просто ссылка на массив, а тут объект ($q) CGI. Поэтому надо было разыменовывать(разлинковывать) немного по-другому, вначале как ссылку на объект, потом на хеш и наконец как массив. Обычная невнимательность - я полагал что передаю в функцию указатель на массив.


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


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

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


 




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


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

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