http://www.perlmonks.org?node_id=667612


in reply to Re^6: Is this DBM::Deep behavior, or something with tie/bless? (ref)
in thread Is this DBM::Deep behavior, or something with tie/bless?

Yes, I have an open bug against Data::Diver for issuing warnings about pseudo-hashes due to this.

You are right about the other warnings as well. Unfortunately, your alternative has other problems:

my $foo; if( eval { \@$foo } ) { print $foo, $/; } __END__ ARRAY(0x34d10)

In the case of CODE ref testing, there is a different problem:

my $foo= "not_a_code_reference"; print "oops!\n" if eval { \&$foo };

Of course, in some situations, one could consider the latter a feature. But mostly I think it would be unwanted.

It is very sad that Perl still doesn't provide decent tools for determine the data type(s) of a reference. It is no wonder nobody gets this right.

- tye