In the following, db_select_row() returns an array. Originally there was no "// croak ..." and it worked fine (the correct value of mx_registered_process_id was 2). When I added "// croak...", the process_id was set to 1!! Am I correct in guessing that the "defined-or" convinced Perl that I wanted the returned array to be interpreted in scalar context? What would have been a better way to do it?
my ($mx_registered_process_id) = db_select_row( $dbh,
"SELECT process_id FROM mx_registered_process "
. "WHERE process_name = '$process'" );
# // croak "Process '$process' not defined in mx_registered_process\n"