Когда использовать определенный
Я немного запутался, какой способ проверки параметров. Вот два примера из исходного кода, размещенного ниже. Во-первых это
if(!defined($DBHdl) || !defined($acct_no));
способ проверить неопределенные параметры?
Во-вторых, после присвоения хэш-функции
$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;
}