if (strcmp(this_stash, package) == 0) {
if (GvSTASH(val) == stash) {
static void modperl_package_clear_stash(pTHX_ const char *package){    HV *stash;    if ((stash = gv_stashpv(package, FALSE))) {        HE *he;        I32 len;        char *key;        hv_iterinit(stash);        while ((he = hv_iternext(stash))) {            key = hv_iterkey(he, &len);            if (MP_SAFE_STASH(key, len)) {                SV *val = hv_iterval(stash, he);                char *this_stash = HvNAME(GvSTASH(val));                /* The safe thing to do is to skip over stash entries                 * that don't come from the package we are trying to                 * unload                 */                if (strcmp(this_stash, package) == 0) {                    hv_delete(stash, key, len, G_DISCARD);                }            }        }    }}