The ref function queries a scalar to see whether it contains a reference and, if so, what type of data it is pointing to. ref returns false (a Boolean value, not a string) if its argument contains a number or a string; and if it's a reference, ref returns one of these strings to describe the data being referred to: "SCALAR", "HASH", "ARRAY", "REF" (referring to another reference variable), "GLOB" (referring to a typeglob), "CODE" (referring to a subroutine), or "package name " (an object belonging to this package - we'll see more of it later).
$a = 10; $ra = \$a;
ref($a) yields FALSE, since $a is not a reference.
ref($ra) returns the string "SCALAR", since $ra is pointing to a scalar value.