在将模板作为Perl代码缓存之前,是否可以轻松修改模板(模板工具包)在加载时是否可以轻松修改?我想运行一个正则表达式。TT模板的修改
Q
TT模板的修改
1
A
回答
5
你可以提供你自己的Template::Provider,它是一个标准的子类。来自精细的手册:
Template :: Provider用于加载,分析,编译和缓存模板文档。这个对象可以被分类以提供用于加载的更具体的设施,否则提供对模板的访问。
所以,它应该是很容易的,但容易,当然,在很大程度上取决于你的技能。
4
上面的Template :: Provider建议可能是最好的方法。但也有一个更简单的(如果有点冒险的)方法。您可以将模板读入标量,并在将其传递给模板处理器之前对其执行任何所需的转换。
my $tt = Template->new;
open my $template_fh, '<', 'template.tt' or die $!;
my $template = do { local $/; <$template_fh> };
$template =~ s/some regex/some replacement/;
my $vars = { template => 'variables' };
$tt->process(\$template, $vars) or die $tt->error;
秘诀在于process()方法将各种类型的值作为其第一个参数。如果你给出了一个标量,那么它被认为是包含该模板的文件的名称。但是,如果它是对标量的引用,那么它会假定该标量包含实际的模板。有关更多详细信息,请参见the documentation。
相关问题
- 1. WHMCS模板修改
- 2. asp.net mvc编辑自动模板TT
- 3. 在VS2008中调试tt模板
- 4. 试图修改wordpress模板
- 5. 修改Django管理模板
- 6. 修改IntelliJ javadoc模板
- 7. phpBB模板设计修改
- 8. 修改默认elasticsearch模板
- 9. 模板的修改导致了混淆
- 10. 如何修改新文件的模板?
- 11. 的IntelliJ动态模板:修改制定者模板
- 12. TT导航和故事板
- 13. 如何修改drupal搜索模板?
- 14. Zimbra公司如何修改模板JS
- 15. 根据记录保存修改模板
- 16. PHP Documentor - 创建或修改模板
- 17. 使用Razor修改模板助手MasterPage
- 18. 如何修改标题模板JRXML
- 19. 安全地修改Magento模板
- 20. 在获取模板之前修改html
- 21. 如何修改春模板项目
- 22. 修改测试文件模板
- 23. 了解一个模板来修改它
- 24. 修改GCC“.md”机器定义模板
- 25. NetBeans“上次修改时间:”模板
- 26. 如何修改预建模板?
- 27. tt模板和语法着色的默认编辑器
- 28. XmlIgnore的编辑实体框架模板文件.tt
- 29. 我使用TT获得额外的CR(perl模板工具包)
- 30. 如何在Squarespace Developer模式下修改集合的.item模板?