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
In reply to Re^7: Is this DBM::Deep behavior, or something with tie/bless? (ref)
by tye
in thread Is this DBM::Deep behavior, or something with tie/bless?
by romandas
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |