in reply to How to deal with undefined returned variables.

If zero or the empty string aren't valid values then you could use:

$CONFIG{HASHTYPE} = $cfg->val("MISC","HASHTYPE") || 'sha1';

Otherwise, you'd need:

$CONFIG{HASHTYPE} = defined $cfg->val("MISC","HASHTYPE") ? $cfg->val("MISC","HASHTYPE") : 'sha1';

which isn't much different to what you've got.