Dancer2 模板中的 IF 语句

Dancer2 IF statements in template

我正在处理一个页面,该页面有一个从数据库查询中填充的下拉菜单。我还有一个传入参数,如果它被填充,将匹配下拉列表中的选项之一。如果填充了该参数,我希望选择下拉列表中的选项。我的直觉是做类似下面的事情(其中 fooFOREACH 中的一个条目):

<% IF param -eq foo %>
    <option value="foo" selected="selected">foo</option>
<% ELSE %>
    <option value="foo">foo</option>
<% END %>

问题是我收到一条错误消息,指出 foo 是无法识别的标记。

我在文档或示例中找不到任何证据表明我可以实际使用上面的 param -eq foo 构造。我能找到的 IF 语句示例不使用比较运算符。他们基本上只读取一个布尔参数或检查一个参数是否有值。但由于它不拒绝 -eq 令牌,我一直希望有办法做到这一点,但我只是还没有找到正确的语法或找到文档。

找到相关文档:http://template-toolkit.org/docs/manual/Directives.html#section_IF_UNLESS_ELSIF_ELSE

不是-eq,是==。但既然如此,我仍然不确定为什么 -eq 没有抛出错误。