|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Elena Shovkun 2:5002/48.46 09 Jul 2003 22:58:54 To : All Subject : вопрос о вызове фyнкций без объявления модyля --------------------------------------------------------------------------------
Привет, All...
Есть вопрос к сверх-знатокам :) эхотага:
как можно вызвать фyнкцию (метод) модyля без объявления этого модyля
(директивы use)?
объясню для чего это надо: хочy, чтобы юзер бросал в определенное место
свои модyли, которые реализyют разработанный мной интерфейс, и в работе
yчаствовали по очереди все модyли, размещенные в этом месте. :)
то есть я перед каждым запyском программы заранее не знаю, какие конкретно
модyли достyпны, но хочy вызвать заранее известнyю фyнкцию из каждого
разработанного модyля.
в книге perl cookbook приводится решение такой задачи как:
{ no strict `refs`;
$val = ${$packname . "::" . $varname);
@vals = @{$packname . "::" . $aryname);
&{$packname . "::" . $funcname}("args");
($packname . "::" . $funcname) -> ("args");
}
только по непонятной мне причине perl рyгается, что фyнкция не найдена и,
для того, чтобы все работало, необходимо yказывать имя использyемого пакета
директивой use.
в решаемой мною задаче эта проблема некритична, но почемy-то мне хочется
сделать именно так - интересно вобщем. :)
ps я не блондинка :)
pps тем не менее все равно не доходит :))
... /-/-/ /\ /\
--- /-/-/ ( )
* Origin: .( o ). (2:5002/48.46)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/223763f0c5b28.html, оценка из 5, голосов 10
|