在將模板作爲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. 在VS2008中調試tt模板
- 2. asp.net mvc編輯自動模板TT
- 3. 修改Bootstrap Starter模板
- 4. 修改grunt-ngDocs模板
- 5. php docx模板修改
- 6. 修改默認elasticsearch模板
- 7. 試圖修改wordpress模板
- 8. 修改Django管理模板
- 9. 修改IntelliJ javadoc模板
- 10. phpBB模板設計修改
- 11. 修改WordPress評論模板
- 12. 試圖修改模板
- 13. 是否有可能將.tt模板的擴展名從.tt更改爲其他內容?
- 14. AngularJS-修改NgBoilerPlate模板來修改網頁的標題
- 15. 修改模板提供的基類
- 16. 修改Firefox的配置文件模板
- 17. 如何修改nbconvert的Jinja模板?
- 18. 當前模板的修改日期
- 19. 模板的修改導致了混淆
- 20. 如何修改reference.cs生成的模板?
- 21. 如何修改新文件的模板?
- 22. TT導航和故事板
- 23. 的IntelliJ動態模板:修改制定者模板
- 24. 如何修改drupal搜索模板?
- 25. 安全地修改Magento模板
- 26. 使用Razor修改模板助手MasterPage
- 27. 修改測試文件模板
- 28. 在獲取模板之前修改html
- 29. Zimbra公司如何修改模板JS
- 30. 如何修改預建模板?