当我将命令行参数传递给 perl 程序时,我进行了验证检查。我传递了两年,第一个传递的参数应该小于第二个传递的参数,并且两个参数都应该只是数字,而且它们应该正好是 4。
#Sunny>perl check.pl 2007 2008
这很好
#Sunny>perl check.pl 2008 2007
这是不好的
#Sunny>perl check.pl 200 2007
这是不好的
我为此编写了代码,但无法弄清楚为什么它不起作用。
#!usr/bin/perl
#check.pl
if ($#ARGV < 0) { }
else
{
$fiscyear1 = $ARGV[0];
$fiscyear2 = $ARGV[1];
}
if (($fiscyear1 !~ m/\d{4}/) and ($fiscyear2 !~ m/\d{4}/) and ($fiscyear1 < $fiscyear2))
{ print "Bad parameters\n"; }
else
{ print "good parameters\n"; }