前回お話したように,Template::Provider は,コンパイルしたテンプレートオブジェクトを,デフォルトではメモリ(内部のハッシュ)に蓄えておき,出来る限り再利用しています。ただ,当然再利用するためにはテンプレート「自体は」静的なものでなくてはいけませんから,ファイル名が指定された場合のみキャッシュします。つまり,生データのスカラハッシュや,ファイルグロブを与えた場合は,毎回コンパイルしているわけです。 デフォルトでは読み込まれれば読み込まれただけキャッシュにためておきますが,CACHE_SIZE というパラメータを初期化時に指定しておくと,その数のテンプレートだけ保持します。4 と指定しておくと,4つぶんだけキャッシュして,5つめがきたときには,一番使われていない(LRU)エントリを削除します。 さて,今回の本題です。Template::Provider には,メモリだけでなく