Когда использовать определенный

Я немного запутался, какой способ проверки параметров. Вот два примера из исходного кода, размещенного ниже. Во-первых это

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;
}

Ответы на вопрос(3)

Ваш ответ на вопрос