我对测试参数的方式有点困惑。这是下面发布的源代码中的两个示例。首先是这个
if(!defined($DBHdl) || !defined($acct_no));
测试未定义参数的方法?
二、分配给一个hashref之后
$ptMtrRecRef = $ptSelHdl->fetchrow_hashref;
是测试$ptMtrRecRef
被定义为使用的最佳方法
if(!$ptMtrRecRef)
或者
if(!defined($ptMtrRecRef))
?
###############################################################################
# Returns count of meters per account number.
# $PkNam -- package name discarded
# $DBHdl -- ICS database handle
# $acct_no -- water account number
sub mgbl_get_meter_count
{
my ($PkNam, $DBHdl, $acct_no) = @_;
die("mgbl_get_meter_count passed undef handles.\n")
if(!defined($DBHdl) || !defined($acct_no));
my $ptSelHdl;
my $ptMtrRecRef;
my $sql_statement =
"select count(*) from meter m where m.acct_no = ".$acct_no.";";
$ptSelHdl = $DBHdl->prepare($sql_statement);
die("Cannot prepare select count(*) from meter m\n")
if(!$ptSelHdl || !$ptSelHdl->execute);
$ptMtrRecRef = $ptSelHdl->fetchrow_hashref;
return $ptMtrRecRef;
}