0

我的 tmpl 文件中有以下行:

<td><TMPL_LOOP SIGNS><TMPL_VAR LEFT_SIGN> - <TMPL_VAR RIGHT_SIGN><TMPL_UNLESS __LAST__></br></TMPL_UNLESS></TMPL_LOOP></td>

刷新页面时,它会在两个显示之间切换(有时刷新会导致相同的显示,不一定会切换):

Display1(每行之间的新行 - 正如预期的那样):

AA1 - AA2
BB1 - BB2
CC1 - CC2 

Display2(最后一项之间没有新行):

AA1 - AA2
BB1 - BB2CC1 - CC2

最近我将 Perl 升级到 5.24.3 版,我怀疑它__LAST__会按预期停止工作(并不总是识别循环中的最后一项)。我正在使用模块“HTML::Template”。

我将html更改为(__FIRST__而不是__LAST__):

<td><TMPL_LOOP SIGNS><TMPL_UNLESS __FIRST__></br></TMPL_UNLESS><TMPL_VAR LEFT_SIGN> - <TMPL_VAR RIGHT_SIGN></TMPL_LOOP></td>

它总是按预期工作。

我找不到任何关于这个问题的参考。

这真的是一个错误__LAST__吗?

4

1 回答 1

0

如果您使用的是 HTML::Template,请查看文档。您可能需要设置loop_context_vars选项并使用小写__last____first__. 我猜那个代码可以__FIRST__工作,因为它总是输出<br>

于 2018-11-21T14:30:16.290 回答