So I've noticed some other "issues" that I can cause by { local %ENV {FOO => 1} } (see t/response/TestModperl/env.pm)
which ends up in modperl_env.c: static void modperl_env_table_unpopulate(pTHX_ apr_table_t *table) { HV *hv = ENVHV; U32 mg_flags; int i; const apr_array_header_t *array; apr_table_entry_t *elts; sv_dump((SV*)hv); modperl_env_untie(mg_flags); sv_dump((SV*)hv); by adding the 2 sv_dumps above, I would expect the second one to tell me that hv (ENVHV) is no longer tied via 'E', but it _is_. I'm probably missing something, but I've no idea what ? Also, when the time comes to call modperl_env_hv_delete() a few lines farther down Finally, void modperl_env_hv_delete(pTHX_ HV *hv, char *key) { I32 klen = strlen(key); if (hv_exists(hv, key, klen)) { hv_delete(hv, key, strlen(key), G_DISCARD); } } This if is _NEVER_ true for the key 'FOO' So I tried commenting out the if() just to see what what happen an nothing happened. The hash key element never has un_magic(sv, 'e') to undo modperl_envelem_tie()... I tried un_magic'ing the 'key' itself before trying to delete it from the hash 'hv' and that didn't accomplish anything either. *sigh* -- ------------------------------------------------------------------------ Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708 Consultant / http://p6m7g8.net/Resume/resume.shtml Senior Software Engineer - TicketMaster - http://ticketmaster.com 1024D/A79997FA F357 0FDD 2301 6296 690F 6A47 D55A 7172 A799 97F "In all that I've done wrong I know I must have done something right to deserve a hug every morning and butterfly kisses at night." --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]