Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Как обьявить локальные переменные, имя и значения


Автор: ReactOS 26.3.2008, 21:38
Привет всем!

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

func(param => 1,param1 => 2, param2 => 3);
Код


sub func {
my %params = @_;
my param =  $params{param};
my param1 = $params{param1};
my param2 = $params{param2};
};



Но поскольку постоянно приходится передавать в функции разные значения - надоело их постоянно вручную прописывать.
Можно ли создать какой-то цикл что бы сразу прошел по всем ключам хэша и обьявил все переменные?
Ну типа что-то такого:

Код


foreach my $key (keys %params) {
my ${$key} = $params{$key};
};


Заранее спасибо!

Автор: nitr 26.3.2008, 23:37
Зачем (уж извините) такой "геморой"?
Почему нельзя объявить
%params;

А потом просто использовать $params{'имя параметра'}?
На ту задачу, что выхотите решить в данной теме уйдет немало ресурсов сервера/ПК - зачем? smile
Чтобы в итоге переосмыслить и заново придумвать алгоритм...

Мой вам совет (хотя точно вашей задачи здесь не описано, но на первый взгляд...) не придумывайте...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)