将单选按钮选择存储为变量 perl cgi 脚本
Store Radio Button selection as variable perl cgi script
我有一个使用 cgi 的 perl 脚本,其中有 2 个单选按钮 "uptime" 和 "localtime"。选择提交按钮后,如果选择了正常运行时间单选按钮,我希望显示 unix 命令正常运行时间;如果选择 "localtime" 单选按钮,我希望显示 perl 函数本地时间。
以下是我的资料:
#!/usr/bin/env perl
use strict;
use warnings;
use CGI qw/:standard/;
my $loctime = localtime;
my $utime = qx( /usr/bin/uptime );
my $q = new CGI;
print $q->header;
print $q->start_html(-title => 'A time select');
print $q->radio_group(
-name => 'timeselect',
-values => ['uptime', 'localtime'],
-default => 'uptime',
-columns => 2,
-rows => 1,
);
print $q->submit(
-name => 'submit_form',
-value => 'Submit',
);
我假设我需要一个子例程或类似的东西,当点击提交按钮时执行。如下所示
sub time_select {
if (radio_button = uptime)
{
print $utime
}
else
{
print $loctime
}
我不确定如何将选中的单选按钮传递到我的子例程中。对 perl 和 CGI 还是新手,所以感谢您的帮助
你应该仔细阅读 CGI 和获取参数,它有几种不同的获取参数的方法,从非常简单到高级,你会感兴趣,如果要这样做的话,还有一些你需要注意的事情用于任何生产类型的环境。 https://metacpan.org/pod/CGI
当您创建一个新的 CGI 对象 (my $q = new CGI;) 时,它会构建一个传递给它的参数列表。要访问参数,您可以在 CGI 对象上调用 param 方法。
像这样简单的东西:
if ($q->param('timeselect')) {
my $value = $q->param('timeselect');
if ( $value eq 'localtime' ) {
print localtime;
} elsif ( $value eq 'uptime' ) {
print `/usr/bin/uptime`;
}
}
对你来说效果很好,就我个人而言,我会在顶部去掉你的正常运行时间和本地时间变量,以避免在没有传递参数时调用它们。
还有另一个关于比较的快速说明。比较字符串时要使用 eq ,比较数字时要使用 ==.
保重。
我有一个使用 cgi 的 perl 脚本,其中有 2 个单选按钮 "uptime" 和 "localtime"。选择提交按钮后,如果选择了正常运行时间单选按钮,我希望显示 unix 命令正常运行时间;如果选择 "localtime" 单选按钮,我希望显示 perl 函数本地时间。
以下是我的资料:
#!/usr/bin/env perl
use strict;
use warnings;
use CGI qw/:standard/;
my $loctime = localtime;
my $utime = qx( /usr/bin/uptime );
my $q = new CGI;
print $q->header;
print $q->start_html(-title => 'A time select');
print $q->radio_group(
-name => 'timeselect',
-values => ['uptime', 'localtime'],
-default => 'uptime',
-columns => 2,
-rows => 1,
);
print $q->submit(
-name => 'submit_form',
-value => 'Submit',
);
我假设我需要一个子例程或类似的东西,当点击提交按钮时执行。如下所示
sub time_select {
if (radio_button = uptime)
{
print $utime
}
else
{
print $loctime
}
我不确定如何将选中的单选按钮传递到我的子例程中。对 perl 和 CGI 还是新手,所以感谢您的帮助
你应该仔细阅读 CGI 和获取参数,它有几种不同的获取参数的方法,从非常简单到高级,你会感兴趣,如果要这样做的话,还有一些你需要注意的事情用于任何生产类型的环境。 https://metacpan.org/pod/CGI
当您创建一个新的 CGI 对象 (my $q = new CGI;) 时,它会构建一个传递给它的参数列表。要访问参数,您可以在 CGI 对象上调用 param 方法。
像这样简单的东西:
if ($q->param('timeselect')) {
my $value = $q->param('timeselect');
if ( $value eq 'localtime' ) {
print localtime;
} elsif ( $value eq 'uptime' ) {
print `/usr/bin/uptime`;
}
}
对你来说效果很好,就我个人而言,我会在顶部去掉你的正常运行时间和本地时间变量,以避免在没有传递参数时调用它们。
还有另一个关于比较的快速说明。比较字符串时要使用 eq ,比较数字时要使用 ==.
保重。