In Perl, an object is just a reference to any of the basic Perl data types that has been blessed into a particular class. When you use the ref() function on an unblessed re
And my first thought on this was: "Objects in Perl are always hash refs, so what the hack?"
But, Scalar::Util::reftype is the answer. Thanks for putting the question here.
Here is a code snippet to prove this.. (in case it is of any use to anyone).
$> perl -e 'use strict; use warnings "all"; my $x = [1]; bless ($x, "ABC::Def"); use Data::Dumper; print Dumper $x; print ref($x) . "\n"; use Scalar::Util "reftype"; print reftype($x) . "\n"'`
Output:
$VAR1 = bless( [ 1 ], 'ABC::Def' ); ABC::Def ARRAY