warn("ST(0) is of type %s\n", HvNAME(SvSTASH(SvRV(ST(0))))); #### use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'EOC'; void foo(SV * x) { dXSARGS; if (sv_isobject(ST(0))) warn("ST(0) is of type %s\n", HvNAME(SvSTASH(SvRV(ST(0))))); else warn("Not an object\n"); XSRETURN(0); } EOC use Math::BigInt; my $obj = Math::BigInt->new(17); foo($obj);