IT技术博客大学习 共学习 共进步

[Perl]Template Toolkit 内插引起 JavaScript $ 异常

扶凯 2010-08-17 22:54:46 浏览 2,221 次

写了一个小程序,使用了一段别人的 JavaScript 来做表格外部排序。但发现只要 JavaScript 经过我的 Template TT 的输出后,就变样了,不能正常的使用这个 JavaScript 了。使用 Diff 的命令查看后发现原来是 Template Toolkit 给 $ 的符号,当做默认变量了.

解决方法只能在 New 一个新的 TT 时。选择不默认内插。只内插指定的符号中的内容 [% %] .

默认我使用 Template Toolkit 来 New 的方法如下:

my $tt = Template->new({
        INCLUDE_PATH => './tmpl',
        INTERPOLATE  => 1,
        }) || die "$Template::ERROR\n";

这样是打开了内插的功能,只要整个 tt 的模板文件中出现了 $ ,就会被内插来检查变量是否存在。。。但很不巧的是,JavaScript 中有变量,一起内插了。所以只能关掉这个功能,给这个

INTERPOLATE  0

值设置成 0.

如果 interpolate 设置成  1. JavaScript 中的变量,如:

 t.h=T$$('thead',T$(e))[0].rows[0]; t.w=t.h.cells.length;

输出后为:

t.h=T('thead',T(e))[0].rows[0]; t.w=t.h.cells.length;

。。。有意思吧。。

建议继续学习

  1. perl更新/修改/删除文本文件内容 (阅读 10,521)
  2. perl大牛flw传说 (阅读 7,563)
  3. perl模块Getopt::Std用法及实例-从命令行读取参数模块 (阅读 6,924)
  4. [Perl] Template::Toolkit 模板技术. (阅读 6,222)
  5. Perl命令行常见用法及技巧 (阅读 5,825)
  6. 在perl中连接和使用sqlite做数据存储 (阅读 5,702)
  7. Perl 倒行分析文件方法。perl读文本文件,从末尾往前读. (阅读 5,505)
  8. perl的expect使用方法,实现非交互式登录。 (阅读 5,401)
  9. perl模块之MIME::Lite发送有附件的邮件 (阅读 5,222)
  10. perl大牛唐凤传说 (阅读 5,103)