Forum Webscript.Ru
Программирование => Perl => Тема начата: DartSidius от 19 Апреля 2007, 05:45:25
-
Есть такой код..примерно...
@mod = (\'a\',\'b\',\'c\');
foreach(@mod) {
require "$_\\.pm";
my $ans = &exe("param");
}
т.е. грубо говоря...есть набор модулей, подключающихся динамически...они все имеют одну структуру...у них есть подпрограмма exe которая выполняется...
собственно в чём вопрос...когда первый модуль a.pm подключился, то в скрипт подгружается автоматом sub exe....при подключении модуля b.pm ссылаться продолжает на первый sub exe...вот и вопрос, как или обнулять, или выгружать модуль, чтобы sub exe новый появлялся?...такое возможно, или заводить обязательно уникальное имя sub\'a?
-
нет. квалифицируйте через имя пакета.
-
arto:
нет. квалифицируйте через имя пакета.
т.е. заводить уникальные имена sub\'ов?
-
# for i in a b c d; do print -l "package $i;" "sub exe () { print \\"test $i\\"; }" "1;" >| $i.pm; done
# perl -le \'foreach (@ARGV) { require "$_.pm"; $_->exe (); }\' a b c d
test a
test b
test c
test d
#