--- name: ref status: documented runtime: pp source: src/runtime/pp/array_ops.rs --- ```{index} single: ref; Perl built-in (pp runtime) ``` # ref ## Synopsis ```perl my $type = ref $ref; # "HASH", "ARRAY", "SCALAR", "CODE", etc. my $class = ref $object; # "MyClass" for blessed references if (ref $x) { ... } # true if $x is a reference ``` ## Description Returns the reference type or blessed class name of a value. Pops one value and pushes a string describing its reference type. For blessed references, returns the class name (e.g. `"MyClass"`). For unblessed references, returns the underlying type: `"SCALAR"`, `"ARRAY"`, `"HASH"`, `"CODE"`, `"REF"`, `"GLOB"`, or `"Regexp"`. For non-references, returns the empty string `""`. Delegates to `Sv::ref_type()` for the actual type determination. ## See also bless, Scalar::Util