% %p = ('option1' => 'Option 1',
% 'option2' => 'Option 2',
% 'option3' => 'Option 3'
% );
<select name="killer_feature" id="killer_feature" class="select">
% foreach (keys %p) {
% my $selected = param('killer_feature') && param('killer_feature') eq $_ ? 'selected="selected"' : '';
% if (!param('killer_feature') && $_ eq 'option2') { $selected = 'selected="selected"' }
<option value=" <%=$_%>" <%= $selected %>>
<%= $p{$_} %>
</option>
% }
</select>
上面的代码通过返回“内部服务器错误”来破坏应用程序,但是如果我将第一行编辑为% my %p
(我尝试过,因为其他一些控件具有这种格式)它可以工作,我想知道两者之间有什么区别。
它是一个基于 Mojolicious Web 框架的 perl 应用程序。
非常感谢!