次の構文を使用して関数を挿入してText::Template
いるため、使用時にその関数について認識しますfill_in()
。
*Text::Template::GEN0::some_function = *SomeLibrary::some_function;
fill_in()
が複数回呼び出されると、後続の呼び出しで GEN0 が GEN1 に変更され、次に GEN2 に変更されることに気付きました。
fill_in
GEN0 名前空間のみが使用されるため、これは が 1 回呼び出された場合にのみ機能します。
使用されている各名前空間に some_function を動的に挿入するにはどうすればよいですか? このようなものであることは知っていますが、正確に使用する構文はわかりません。
my $i = 0;
foreach my $item (@$items) {
# *Text::Template::GEN{i}::some_function = *SomeLibrary::some_function;
$i++;
# Call fill_in here
}