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