in reply to Re^2: Truthfulness of references
in thread Truthfulness of references

You wrote:

3. What's a good way to test for truthfulness:

"Truthfulness" is an unusual term for the boolean value of something. "Truth value" is more common.

if ( %$ref ) { ...do something }
That code is fine if you know that $ref holds a hash ref and you need to decide whether the hash is empty.

or...

if ( %$ref && ref $ref eq 'HASH' ) { ...do something }
Here, it seems, you want to check whether the reference you have is indeed a hash ref, but put this way the condition is pretty much useless. Since you try a hash dereference first, if the ref isn't a hash ref your code will die before it gets to the test.

You'd have to swap the parts for them to make sense:

if ( ref $ref eq 'HASH' && %$ref ) {
Anno