GetOpt::Long perl 中的默认值模块

GetOpt::Long module in perl for default values

我正在编写一个 perl 脚本,它将值作为命令行参数并将其放入分配的变量中并执行对数据库的查询。

GetOptions("version=s"      => $ver,
       "product=s"      => $prod) 
or die ("Error in input variables\n");

脚本查询部分如下:

my $sql = qq|select count(*) from software_build where sw_version like ? and finished > '$date' and product like ?|;
my $sth = $dts->prepare($sql);
$sth->execute($ver, $prod) or die $DBI::errstr;

如果用户不包含命令行参数而不应该执行此查询,我应该进行哪些更改:

my $sql = qq|select count(*) from software_build where finished > '$date'|;
my $sth = $dts->prepare($sql);
$sth->execute;

如果没有给出命令行参数,我需要默认执行这个查询。谢谢。

我刚刚添加了下面这行并且它有效

if ($ver eq ""){
my $sql = qq|select count(*) from software_build where finished < '$date'|;
my $sth = $dts->prepare($sql);
$sth->execute() or die $DBI::errstr;
my $count = $sth->fetchrow_array();
print $count;
}
else{
my $sql = qq|select count(*) from software_build where sw_version like ? and finished > '$date' and product like ?|;
my $sth = $dts->prepare($sql);
$sth->execute($version, $product) or die $DBI::errstr;
my $count = $sth->fetchrow_array();
print $count;
}