int MyClass::countItemsIn (...) CODE: if (sv_derived_from(ST(0), 'MyList')) { RETVAL=THIS->countItemsIn( *(MyList *) SvIV((SV*)SvRV(ST(0))) ); } elsif (sv_derived_from(ST(0), 'MyHash')) { RETVAL=THIS->countItemsIn( *(MyHash *) SvIV((SV*)SvRV(ST(0))) ); } OUTPUT: RETVAL