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