ref

ref EXPR

The ref operator returns a true value if EXPR is a reference, the null string otherwise. The value returned depends on the type of thing the reference is a reference to. Built-in types include:

REF SCALAR ARRAY HASH CODE GLOB

If the referenced object has been blessed into a package, then that package name is returned instead. You can think of ref as a "typeof" operator.

if (ref($r) eq "HASH") {
 print "r is a reference to a hash.\n";
}
elsif (ref($r) eq "Hump") {
 print "r is a reference to a Hump object.\n";
}
elsif (not ref $r) {
 print "r is not a reference at all.\n";
}

See for more details.