HV *stash = gv_stashpv(SvPVX(ST(0)), TRUE);
HV *stash = gv_stashsv(ST(0), TRUE);
static XS(MPXS_modperl_filter_attributes){    dXSARGS;    U32 *attrs = modperl_filter_attributes(ST(0), ST(1));    I32 i;#ifdef MP_TRACE    HV *stash = gv_stashpv(SvPVX(ST(0)), TRUE);#endif    for (i=2; i < items; i++) {        STRLEN len;        char *pv = SvPV(ST(i), len);        char *attribute = pv;        switch (*pv) {          case 'I':            if (strnEQ(pv, "InputFilter", 11)) {                pv += 11;                switch (*pv) {                  case 'B':                    if (strEQ(pv, "Body")) {                        *attrs |= MP_INPUT_FILTER_BODY;                        trace_attr();                        continue;                    }                  case 'M':                    if (strEQ(pv, "Message")) {                        *attrs |= MP_INPUT_FILTER_MESSAGE;                        trace_attr();                        continue;                    }                }            }          default:            XPUSHs_mortal_pv(attribute);            XSRETURN(1);        }    }    XSRETURN_EMPTY;}