in reply to How to deal with undefined returned variables.

davorg presents the common idiom, but note that it can lose if the actual value returned is "defined but false", e.g. 0 or "0". To handle this robustly can be done in two lines:
$CONFIG{HASHTYPE} = $cfg->val("MISC","HASHTYPE"); $CONFIG{HASHTYPE} = "shal" if ! defined $CONFIG{HASHTYPE};