我的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__
真的是一个错误吗?
答案 0 :(得分:0)
如果您使用的是HTML :: Template,请检查documentation。您可能需要设置loop_context_vars
选项并使用小写的__last__
或__first__
。
我猜带有__FIRST__
的代码行得通,因为它总是输出<br>