Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl CGI::Application param()未设置_Perl_Templates_Param_Cgi Application_Perl Html Template - Fatal编程技术网

Perl CGI::Application param()未设置

Perl CGI::Application param()未设置,perl,templates,param,cgi-application,perl-html-template,Perl,Templates,Param,Cgi Application,Perl Html Template,我有一段代码用作它的基础,但有些东西工作不正常 当我试图通过$Template->param()设置某些内容时,它似乎没有设置。 $Template等于$self->load\u tmpl($Template) 我想保存的是: $Template->param('symbols' => \%a_hash_ref); 我知道\%a\u hash\u ref包含期望值。它有一个类似的形式: {'symbol' => 'DTX'},{'symbol' => 'QFLD'}

我有一段代码用作它的基础,但有些东西工作不正常

当我试图通过
$Template->param()
设置某些内容时,它似乎没有设置。
$Template
等于
$self->load\u tmpl($Template)

我想保存的是:

$Template->param('symbols' => \%a_hash_ref);
我知道
\%a\u hash\u ref
包含期望值。它有一个类似的形式:

{'symbol' => 'DTX'},{'symbol' => 'QFLD'}
还有,如果我

$Template->param('Hey!xD' => 'Something');
它不保存,但是

$Template->param($Pagination);
是,其中,
$Pagination
也是一个散列引用

我知道所有的值都是应该的,我还尝试了一些简单的字符串,它们应该可以工作,但它们没有设置。我知道这一点,因为当我跑步时:

my @params = $Template->param();
die Dumper \@params;
它输出它应该设置的所有变量,但是缺少预期的变量(包括
'Hey!xD'
字符串)。我还知道它实际上运行代码,因为这个骰子转储程序是在我尝试设置值之后运行的

模板文件包含以下代码:

$(document).ready(函数(){main函数('[%symbol%]'); }); 任何帮助都将不胜感激

编辑:

这是给参数的内容:

[ { “日期”=>“2006-07-05”, “平均增益”=>未定义, 'bollinger_mid'=>'32.80000', '符号'=>'烧烤' }, { “日期”=>“2006-04-04”, “平均增益”=>未定义, “bollinger_mid”=>“34.55656”, 'symbol'=>'AAPL' } ... ]


这实际上是一个HTML::Template问题,CGI::Application在默认情况下使用该问题进行模板设置

load\u tmpl
调用中,是否将
die\u on\u bad\u参数设置为0?如果您试图设置加载的模板()中不存在的参数,则默认情况下,HTML::Template应该失效。禁用
die\u on_bad_params
时,您将获得所描述的行为,其中忽略并丢弃未知模板参数

此外,
TMPL_循环
将hashrefs的arrayref作为其
param
参数。也许这样传递“符号”参数会有所帮助:

my $symbols = [{ symbol => 'DTX' },{ symbol => 'QFLD' }];
$Template->param(symbols => $symbols);

如果您发布一个示例模板和显示错误的小脚本,那么肯定会更容易判断。

是的,我已将其设置为0!谢谢如果当我试图设置模板上尚不存在的参数时,它将消失,那么我如何设置该参数?我阅读了文档,不明白为什么$Template->param('symbols')不存在。在我的模板中,我有以下内容:fetchQuoteData(“[%symbol%]”);