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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача в sub хешированного массива, Perl запарил, не могу 
:(
    Опции темы
vax1700
Дата 8.8.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть sub: 

Код
sub dbsql {
  my(%flags) = @_;

  # ...

  my $dbh = DBI->connect("DBI:mysql:host=...;database=...", user, pass, xxx);
  return $dbh;
}



я её вызываю как:

Код
my $dbh = &dbsql( { PrintError => 0, RaiseError => 0 } );


Мне интересно что писать вместо xxx ? Тут прописываются флаги для DBI, которые у меня передаются в массиве параметром %flags.

%flags
$flags
@flags

?

Подскажите плз.
непонятно ничего в этом перле smile

Это сообщение отредактировал(а) vax1700 - 8.8.2007, 10:48
PM MAIL   Вверх
JAPH
Дата 8.8.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код
sub dbsql {    
  my $flags = $_[0];    # Вы же ссылку передаёте
  # ...    
  my $dbh = DBI->connect("DBI:mysql:host=...;database=...", user, pass, $flags);    
  return $dbh;    
}


Это сообщение отредактировал(а) JAPH - 8.8.2007, 11:12


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
vax1700
Дата 8.8.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А в таком случае массив { PrintError => 0, RaiseError => 0 } передастся в DBI ?
PM MAIL   Вверх
amg
Дата 8.8.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(vax1700 @ 8.8.2007,  11:19)
А в таком случае массив { PrintError => 0, RaiseError => 0 } передастся в DBI ?

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


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

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


 




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


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

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