我正在使用以下语法将函数注入其中Text::Template
,以便在使用时知道该函数fill_in()
:
*Text::Template::GEN0::some_function = *SomeLibrary::some_function;
我注意到如果fill_in()
多次调用,GEN0 更改为 GEN1 以进行后续调用,然后 GEN2 ... 等等。
所以这只在fill_in
被调用一次时才有效,因为只使用了 GEN0 命名空间。
如何将 some_function 动态注入每个使用的命名空间?我知道它是这样的,但我不知道我将使用的语法:
my $i = 0;
foreach my $item (@$items) {
# *Text::Template::GEN{i}::some_function = *SomeLibrary::some_function;
$i++;
# Call fill_in here
}