if (len > 2 && key[len] != ':' && key[len-1] != ':') { hv_delete(stash, key, len, G_DISCARD);
if (MP_SAFE_STASH(key, len)) { SV *val = hv_iterval(stash, he); char *this_stash = HvNAME(GvSTASH(val));  if (strcmp(this_stash, package) == 0) { hv_delete(stash, key, len, G_DISCARD); }
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);            /* We skip entries ending with ::, they are sub-stashes */            if (len > 2 && key[len] != ':' && key[len-1] != ':') {                hv_delete(stash, key, len, G_DISCARD);            }        }    }}