Forum Webscript.Ru
Программирование => Perl => Тема начата: cr4ck3r от 21 Июня 2005, 13:05:25
-
У меня есть скрипт script.pl, который использует модуль Module.pm.
В скрипте определяется переменная $type, а модуль содержит несколько функций вида:
sub query_one { }; sub query_two { };
Я из скрипта пытаюсь вызвать функции модуля так:
my $type=\'one\';
my $query=Module::query_$type();
на что мне выдается сообщение о том что функции query_ нет в пакете Module. Что я тут пропустил подскажите? Знаю что где-то встречал такие вопросы - но не нашел где.
-
{
my $func = "Module::query_${type}";
no strict \'refs\';
$query = &{$func}();
# $query = $func->();
}
perldoc perlref
-
ondr спасибо.
А тогда чтоб еще одну тему не плодить, подскажите как решить еще одну задачку.
Есть пустой хэш %DATA, и есть два массива @KEYS и @VALUES, с названиями ключей и их значениями соответственно. Как мне внести в хэш эти массивы, чтобы значения ключей указывали на соответствующие значения в массиве @VALUES. Массивы не большие по 6-8 элементов.
Спасибо.
P.S
Бессоная ночь дает сбои в голове...
-
пожалуйста
@DATA{ @KEYS } = @VALUES
-
ondr
спасибо большое... Пойду спать :)