in reply to Re: If hash not defined help
in thread If hash not defined help

johnfl68: If  $current->{'fileSet'}{'showAbbreviation'} could exist and be defined and yet be something other than a hash reference, it might be wise to add a test for hash-refitude to the other tests proposed by huck (attempting to dereference a non-hashref as a hash is fatal under strict refs, which you should, of course, have enabled :) (untested | since tested):
    if (exists($current->{'fileSet'}->{'showAbbreviation'})
        && defined ($current->{'fileSet'}->{'showAbbreviation'})
        && 'HASH' eq ref($current->{'fileSet'}->{'showAbbreviation'})
        && ( scalar(keys %{$current->{'fileSet'}->{'showAbbreviation'}}) >0)
        ) {
        ...
        }

Update: In fact, since ref returns the empty string for an undefined argument, the explicit defined test is not necessary, making the whole thing a bit less messy:
    if (exists($current->{'fileSet'}->{'showAbbreviation'})
        && 'HASH' eq ref($current->{'fileSet'}->{'showAbbreviation'})
        && ( scalar(keys %{$current->{'fileSet'}->{'showAbbreviation'}}) >0)
        ) {
        ...
        }


Give a man a fish:  <%-{-{-{-<