Scalar::Util#

📦 std

General-utility subroutines for inspecting and tagging scalar values.

Functions#

Other Functions#

blessed#

blessed($ref) — returns class name if blessed, undef otherwise.

reftype#

reftype($ref) — returns type string without blessing.

tainted#

tainted($sv) — mirrors Scalar-Util-1.68/Util.xs tainted(). Returns true iff the argument carries PERL_MAGIC_taint (set by perl5’s taint-source machinery when running under -T). The earlier stub hardcoded false under the false assumption that pperl has no taint mode; we do — ${^TAINT} is live and sources (%ENV, @ARGV, $0, file reads) propagate SvTAINTED normally.

set_prototype#

set_prototype(\&sub, $proto)Scalar::Util calling convention (&$). perl5 ListUtil.xs set_prototype() (Sub::Util section): cv = SvRV(code); SvTYPE(cv) == SVt_PVCV or croak. SvPOK(proto) → sv_copypv(cv, proto) else SvPOK_off(cv) Scalar::Util wrapper reverses args: (&code, $proto) → set_prototype($proto, $code). We implement the Scalar::Util convention directly: arg0=coderef, arg1=proto.