Any::Renderer::Template renders any Perl data structure passed to it with Any::Template. The Any::Template backend used depends on the 'format' parameter passed to the object constructor.

Templates expressed as filenames are cached using a package-level in-memory cache with Cache::AgainstFile. This will stat the file to validate the cache before using the cached object, so if the template is updated, this will be immediately picked up by all processes holding a cached copy.

If TemplateOptions is not explicitly specified, all options passed to this module that are not recognised will be passed through Any::Template (via the Options constructor option) to the backend templating engine for the rendering process. This flatter options structure may be more convenient but does introduce the risk of a nameclash between an option name in an obscure back-end templating module and an option specific to Any::Render::Template - it's your choice.

Further information on the options for each backend module can be found in the documentation for Any::Template::$backend or the documentation for the backend templating module itself.

Set the ANY_RENDERER_AT_SAFE environment variable to a true value if you want to check each Any::Template backend compiles before adding it to the list of available formats. This is safer in that modules with missing dependencies are not advertised as available but it incurs a CPU and memory overhead.