【发布时间】:2016-07-06 03:54:34
【问题描述】:
Perl 版本 5.8.5 我有:
my @dt = qw( 1 0 );
my %dt = qw( 1 single 0 multi );
my $val = 0;
$cgi->popup_menu( {
-name => "test",
-default => $val,
-values => \@dt,
-labels => \%dt,
} )
在弹出窗口中一切正常,除了“已选择”从未设置。 所以总是选择第一个 val。
如果我进行更改,并在所有情况下将 0 更改为 2($val、@dt 和 %dt),那么一切正常,并且我在 HTML 标记中得到“选中”。
我也将代码处理到 Perl 5.8.8 框,它在那里工作 零?我是否需要让我们的系统管理员在 5.8.5 机器上提升我们的 Perl 版本?
【问题讨论】:
-
仅供参考,使用 CGI.pm 中的 HTML 生成功能现在是 officially discouraged。你真的应该使用像 Template Toolkit 这样的模板引擎。此外,Perl 5.8.5 真的老了(2004 年发布); 5.24.0 刚刚发布!也许您对这个设置感到困惑,但如果您有任何选择,请更新您的工具集!