Perl 验证querystring中的参数
嗨,我对perl非常陌生。正如您在下面的代码中所看到的,我需要从querystring获取一个参数“page”。我还想验证参数值。如果参数不在querystring中或不是数字,则将1分配给$current\u page,否则只将值分配给$current\u page。如何在perl中实现这一点?请帮帮我Perl 验证querystring中的参数,perl,Perl,嗨,我对perl非常陌生。正如您在下面的代码中所看到的,我需要从querystring获取一个参数“page”。我还想验证参数值。如果参数不在querystring中或不是数字,则将1分配给$current\u page,否则只将值分配给$current\u page。如何在perl中实现这一点?请帮帮我 use strict; use CGI qw/:standard/; my $querystring = CGI::Vars(); my $current_page = $querystr
use strict;
use CGI qw/:standard/;
my $querystring = CGI::Vars();
my $current_page = $querystring->{page};
print $current_page; # I would get a warning "Use of uninitialized value..."
如果缺少参数,将使用
1
:
my $current_page = $querystring->{page} || 1;
不过,它不会检查以确保它是一个数字。这大概是:
my $current_page = $querystring->{page};
$current_page = 1
if !defined($current_page)
|| $current_page =~ /[^0-9]/
|| $current_page == 0;
如果您需要验证多个参数,您可能需要以下内容。一旦开始使用它,您就可以获得它的所有好处,包括修剪前导和尾随空格的能力。
/
需要PerlV5.10。如果您的perl版本比它旧,您可以使用|
。看起来像是零,而且空字符串无论如何都是不可接受的,所以我切换到|
。