Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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
Html 如何在perl中退出tmpl循环?_Html_Perl_Loops - Fatal编程技术网

Html 如何在perl中退出tmpl循环?

Html 如何在perl中退出tmpl循环?,html,perl,loops,Html,Perl,Loops,我在Perl中使用html模板来生成动态网站,我的Script1.pm生成一个表,并将其作为tmpl\u循环发送到template.tmpl以在网站上显示一个表 到目前为止,这种方法运行得很好,但是当表的行数超过100000行时,整个浏览器就开始滞后 我可以设置一个计数器在10000次迭代后退出tmpl循环吗 只在脚本中缩小表格是不起作用的,因为我需要为导出文件完成它。首先在将数据发送到模板之前修剪数据 例如,改变 $template->param(ROWS => \@rows);

我在Perl中使用html模板来生成动态网站,我的
Script1.pm
生成一个表,并将其作为tmpl\u循环发送到
template.tmpl
以在网站上显示一个表

到目前为止,这种方法运行得很好,但是当表的行数超过100000行时,整个浏览器就开始滞后

我可以设置一个计数器在10000次迭代后退出tmpl循环吗


只在脚本中缩小表格是不起作用的,因为我需要为导出文件完成它。

首先在将数据发送到模板之前修剪数据

例如,改变

 $template->param(ROWS => \@rows);

my@truncated_rows=@rows[0..$#rows<10_000?$#rows:10_000];
$template->param(行=>\@截断的行);

后者是非破坏性的,因此,如果您以后在程序中需要整个行集用于其他目的,它们仍然可用。(在呈现输出后继续处理似乎有点可疑,但问题的更新似乎表明这是一项要求。)

首先在将数据发送到模板之前修剪数据

例如,改变

 $template->param(ROWS => \@rows);

my@truncated_rows=@rows[0..$#rows<10_000?$#rows:10_000];
$template->param(行=>\@截断的行);
后者是非破坏性的,因此,如果您以后在程序中需要整个行集用于其他目的,它们仍然可用。(在呈现输出后继续处理似乎有点可疑,但问题的更新似乎表明这是一项要求。)

如果使用,可以使用特殊的
循环变量:

[% FOREACH match IN results %]
    [% LAST IF loop.count > 10000 %]
[% END %]
请注意,
BREAK
也是
LAST

的别名。如果正在使用,可以使用特殊的
循环
变量:

[% FOREACH match IN results %]
    [% LAST IF loop.count > 10000 %]
[% END %]

请注意,
BREAK
也是
LAST

的别名,您正在使用它吗?向问题中添加一个示例模板可能会很有用,以准确显示您正在尝试执行的操作。@Pbk1303向非代码的单词和短语添加内联代码格式(如“设置计数器”和“10000次迭代后tmpl循环”)并不是一种改进。也不是在随机单词中添加粗体(如“html模板”)。请停止这样的编辑。请确认您用于获取相关答案的模板模块“html模板”不是确定的,一些人建议您使用的模块是什么?向问题中添加一个示例模板可能会很有用,以准确显示您正在尝试执行的操作。@Pbk1303向非代码的单词和短语添加内联代码格式(如“设置计数器”和“10000次迭代后tmpl循环”)并不是一种改进。也不是在随机单词中添加粗体(如“html模板”)。请停止这样的编辑。请确认您用于获取相关答案的模板模块“html模板”不是确定的,一些人已经建议您使用哪个模块