0

我不确定这里发生了什么,所以我很难尝试调试这个问题。这是我的 perl 脚本的一个非常简单的示例,它只是打印一些 html:

#!/usr/bin/perl -w
use strict;
use warnings;

use HTML::Template;

my $template_object = qq|<html>
<head>
    <title>Test</title>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
    $(function() {  
        alert("here");
    }); 
   </script>
</body>
</html>|;   
my $template = HTML::Template->new(scalarref => \$template_object);

print "Content-type: text/html\n\n";
print $template->output();

问题是当我运行它时,我没有收到 JS 警报,如果我查看源代码,$( 函数中包含 500 500 - 这是 IE 和 FF 中源代码的样子:

<html>
<head>
    <title>Test</title>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
    500 500function() { 
        alert("here");
    }); 
   </script>
</body>
</html>

它不是 HTML::Template 的东西(我没有尝试过并得到了相同的结果),知道为什么我会看到那些 500 吗?

TIA

4

1 回答 1

3

您需要使用不插值的引用运算符:

my $template_object = q|<html>

500 500来自 的插值$(,这是 的简称$GID,您所属的组列表。

于 2013-06-30T11:29:21.080 回答